5

Debian 開発システムのすべての perl モジュールを (テストとして) 最新バージョンに更新しました。ライブ サーバーのモジュールをアップグレードしても安全かどうかを確認したかったのです。Imager から奇妙なエラーが発生し始めたことを除いて、動作しているように見えました (API バージョン番号に関連していますが、現時点ではそれほど重要ではありません)。

Imager と関連するライブラリを再インストールしようとしましたが、問題を解決するものは何もありませんでした。

さらに調べてみると、問題の開発システムには、以下を含む複数の perl ディレクトリがあるように見えることがわかりました。

/usr/lib/perl (which contains 5.14.2 and subdirs)
/usr/lib/perl5 (which contains a range of perl modules)
/usr/local/lib/perl (which contains another 5.14.2 and a set of modules)
and even /root/perl5 (which contains a small list of modules including i486-linux-gnu-thread-multi-64int)

システム上のモジュールは、可能なすべての方法、apt-get、aptitude、cpan、ソースからインストールされた cpanminus を使用してインストールされており、さまざまなモジュールが主に/usr/local/lib/perlまたは/usr/lib/perl5など、さまざまなperlディレクトリ(インストールだと思います)に行き着きます。少なくとも 2 つの異なる perl インストールがそこにどのようにインストールされたかはわかりません。

/usr/lib/perl は保持したいものだと思うので、/usr/local/lib/perl の名前を perl.save に変更してから、/usr/local/lib/perl /usr/lib/perl をリンクしてみました. 次に、不足しているパッケージを再インストールしました。
ほとんどのパッケージはインストールされているようですが、この不吉なメッセージがいくつか表示されます。


/usr/local/lib/perl/5.14.2 を持っている

/usr/lib/perl/5.14 が欲しい

あなたの perl と Config.pm は、それらが実行されているアーキテクチャについて異なる考えを持っているようです。

Perl の考え: [5.14.2]

構成は言う: [i486-linux-gnu-thread-multi-64int]

これにより、問題が発生する場合と発生しない場合があります。この拡張機能のビルドに問題がある場合は、perl のインストールを確認してください。


その後、その特定のモジュールのインストールは失敗します。おそらく正当な理由があります。

私がこれを修正したい理由は、私たちの開発システムはすべて仮想であり、他のすべての開発システムはこの (壊れた) システムのクローンであるためです.彼はオプションですが)。

システムのクローンを作成してから perl をパージしようとしましたが、システムが非常に壊れてしまい、何もできませんでした。

これを修正するための有用なアプローチのアイデアはありますか? ありがとう

4

3 に答える 3

1

「local::lib」モジュールを利用する「perl virtualenv」プロジェクトが多数あります。これにより、特定のアプリケーション用のものをローカル ディレクトリにインストールできます。正しく使用すると、これらはシステム内のものを上書きします。

このhttps://github.com/stoned/pllは、仮想環境にインストールできるように cpanm を使用します。

これはあなたが望むものではないかもしれませんが、考慮すべきものです。

于 2012-08-13T19:00:07.843 に答える
0

上記の私のコメントによると、cpanm は root としてインストールされ、/root/perl5 にモジュールを配置するように構成されました。これにより、私は男子生徒のエラーに巻き込まれたことに気付きました.rootにsudo -sしたときにrootが持つenvは、rootまたはsu - rootとしてログインした場合のenvとは異なります。そのため、さまざまな宮殿にインストールされており、そのうちのいくつかは他のenvに隠されていました(たとえば、@INCには含まれていません)。また、池上が指摘した問題により、システムはすべてのライブラリを見つけられません。

于 2012-08-16T05:40:32.417 に答える
0

誰かがまだこれに問題がある場合に備えて、5.18 のローカル インストールを行っていました (私にとっては初めて)、2 つのライブラリを PERL5LIB に追加しました。問題なくインストールされた変更後、Mooseのインストールに問題がありました。

于 2014-03-27T13:12:35.873 に答える