ActivePerlをインストール後に、コマンドプロンプトでppmと入力すると、エラーが出る。解決策を教えてください。


ネットで色々と調べましたが、どうしても解決できません。
みなさんのお力を貸していただけたらと思います。

■現象■
Active Perlをインストール後に、コマンドプロンプトでppmと
入力すると、以下のメッセージが表示されます。

[メッセージ]
Perl lib version (v5.8.3) doesn't match executable version (v5.6.1) at D:\oracle
\product\10.2.0\db_1\perl\5.8.3\lib/MSWin32-x86-multi-thread/Config.pm line 32.
(以下、略)


[環境]
Windows Server 2003 SP2
Active Perl v5.6.1
Oracle Database 10.2.0.1.0

■質問■
コマンドプロンプトでppmと入力した際に、
正常に実行させるためには、何が必要なのでしょうか?

大変お手数ですが、よろしくお願いします。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2012/01/20 20:50:27

ベストアンサー

id:Iwa No.1

回答回数120ベストアンサー獲得回数6

C:\Perl 下に今回入れたActivePerl以外に別のPerl(たぶんOracleバンドルのActivePerl)がorcleフォルダ下(D:\oracle
\product\10.2.0\db_1\perl)にいてそっちのモジュール類を読みに行ってしまっているため、整合性がとれずエラーが出ているようです。

環境変数PATHにある自分で入れたほうのPerlのパスをOracleのより前に持っていくか、Oracleの方のPerlパスを消せば動くと思われます。
ただ、どちらの場合も今度はOracle側でPerlを使用するときにエラーが起こってしまうはずですので、使うときにそれぞれ上記手順で切り替えるしかありません。

id:ET2012

環境変数“PATH”の修正ではうまくいきませんでしたが、環境変数“PERL5LIB”からOracleのパスを削除した(自分で入れたPerlのパスは残したまま)ところ、ppmと入力してもエラーが発生しませんでした。

今回の問題は、自分の知識だけでは全く対処できませんでしたので、貴重な回答を頂いたIwaさん、本当にありがとうございました。

2012/01/20 20:50:14
  • id:ET2012
    【補足1】
    エラーメッセージの全文です。

    [メッセージ]
    Perl lib version (v5.8.3) doesn't match executable version (v5.6.1) at D:\oracle
    \product\10.2.0\db_1\perl\5.8.3\lib/MSWin32-x86-multi-thread/Config.pm line 32.
    Compilation failed in require at C:\Perl\bin\ppm.bat line 18.
    BEGIN failed--compilation aborted at C:\Perl\bin\ppm.bat line 18.
  • id:ET2012
    【補足2】
    私が試してみたことです。

    バージョンが異なる旨のメッセージが出ているため、
    Active Perlのバージョンを5.8.3にして実行しましたが、
    うまくいきませんでした。

    また、現象としてはPerl Package Managerを起動すると、
    「Perl58.dll」が存在しないため、起動できない旨のメッセージが表示されます。

    こちらはインターネット上から、perl58.dllをダウンロードし、実行してみましたが、
    正常に動作しませんでした。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません