3

自分のマシンで perlbrew と cpanm を使いたいです。このようにperlbrewをインストールしました

curl -L http://install.perlbrew.pl | bash

~/perl5/perlbrew/etc/bashrcそして、私の.bashrcにソースがあります。次に、perl v5.21.5 をインストールし、このバージョンに切り替えました。which perlコマンドは、perlbrew インストールを指しています。同じことが cpanm にも当てはまります。

しかし、次のようなperlモジュールをインストールするとcpanm Mojo、バイナリがインストールされておらず、インクルードも見つかりません。しかし、すべてのテストに合格します。私は下を見て~/perl5/、ソースを見つけることができませんでした。誰かが以前に同じ問題を抱えていましたか? 以前に Ubuntu 14.04 で cpan を使用したことがあるかもしれません。これにより問題が発生する可能性はありますか? cpanm がモジュールを配置した場所を特定するにはどうすればよいですか?

ところで:私はperlbrewバージョン0.71を使用しています

4

4 に答える 4

1

私の場合は、perl コードを実行しようとしただけです。irc.freenode.net の #perl チャンネルに感謝します。

最初に local::lib を使用しましたが、使用後に完全にクリーンアップされていない可能性があります。実行しようとしていたコードに必要なモジュールは、システム perl では実行されませんでした。古すぎました。

それから私は試しperlbrew install perl-5.20.1てみperlbrew install-cpanmました。既知の量で新たに始めるのは素晴らしい気分でした. それでも、モジュールがテストに合格していることがわかり、インストールはされているが、検出も使用もされていないと述べました。依存関係が継続的に再インストールされようとしていました。依存関係を一度に 1 つずつインストールしても機能しませんでした。不可解でした。途中のどこかでセットを読みましたがPERL_MB_OPT、それらPERL_MM_OPTもセットする必要があったと思いますPERL5LIB

だから私は perlbrew からやり直しましたrm -rf ~/.cpan ~/.cpanm ~/perl5。すべてが機能するようになりました。万歳!

于 2014-11-30T18:58:25.613 に答える
1

ホームディレクトリにあるperl関連のものをすべて削除することで問題を解決しました。フォルダー ~/.cpan には、書き込み保護されたファイルがありました。それらを削除できるのは sudo ユーザーだけです。過去にcpanをルートとして使用したと思います。さらに、~/.cpanm と ~/perl5 を削除しました。perlbrew、perl、mojolicious を再インストールした後、すべて問題なく動作しました。

于 2014-10-27T15:50:41.517 に答える
0

[新しいシェルを開始した (たとえば、ターミナルを再度開いた、または実行した) か、インストール後に現在のシェルでexec bashソースを取得したと仮定します]~/perl5/perlbrew/etc/bashrcperlbrew

インストールにどの Perl を使用しましたcpanmか? は、それcpanmを実行する Perl のモジュールをインストールします。cpanmcpanm ...

オプション:

  1. cpanの代わりに使用しcpanmます。
  2. cpanm新しくインストールした Perl を使用してインストールします。
  3. 回避策として使用perl -S cpanm ...します。
于 2014-10-27T14:42:48.097 に答える
0

たまたま新しいターミナル ウィンドウで cpanm コマンドを実行している場合、作成した新しい perl を使用していない可能性があります。

「perlbrew use」は、現在のシェルが作成された perl を使用するようにするだけですが、「perlbrew switch」は、現在のユーザーのすべての新しいシェルが選択された perl を使用するようにします。

「perl -V」と「perlbrew info」の出力を提供する必要があります

cpanm がモジュールをインストールした場所を見つける方法のヒントを次に示します。

1) ロケートのインストール (sudo aptitude install locate)

2) 「sudo updatedb」を実行します (locate で使用されるインデックスを作成します)

3) 「locate Mojo」を実行して、ファイルが作成された場所を確認します。

また、使用している cpanm バイナリを知ることも興味深いでしょう。「どのcpanm」

「perlbrew install-cpanm」で perlbrew 全体の cpanm をインストールできます。

于 2014-10-27T12:04:59.733 に答える