Mac OSXに最新バージョンのPerlをインストールするためにBrewを使用し、PerlはCPANからダウンロードしたPerlパッケージの独自のディレクトリを作成するためにlocal :: libを使用するように求められました。私のコマンドの記録は次のとおりです。
431 brew install perl
#recommended to do by brew
432 PERL_MM_OPT="INSTALL_BASE=$HOME/perl5" cpan local::lib
433 echo 'eval "$(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib)"' >> ~/.bash_profile
#executing recommendation
434 sudo PERL_MM_OPT="INSTALL_BASE=$HOME/perl5" cpan local::lib
436 echo 'eval "$(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib)"' >> ~/.bash_profile
437 perl program.pl
その後、Perlスクリプトを実行しようとすると、次のエラーが発生します。
Can't locate getopts.pl in @INC
だからgetopt.plを置き換えるGetopt :: Stdをインストールしました。
sudo cpan> install Perl4::CoreLibs
これでPerlスクリプトが正常に動作します。ただし、上記のすべてのインストールを実行した端末でのみ機能します。その後、「python」や「open -a TextEdit ~ / .bash_profile」などの他の環境変数を呼び出して実行できることを確認しようとしましたが、次のような結果が得られました。
-bash: command: command not found
bash_profileファイルを探してみましたが、どこにも見つからないようです。新しいディレクトリが作成されたときにファイルが削除された可能性があります。パス変数を見つけようとすると、次のような結果が出ますが、どのように解釈するのかわかりません。
echo PATH=$PATH
PATH="/Users/miseq/perl5/bin${PATH:+:${PATH}}"; export PATH; PERL5LIB="/Users/miseq/perl5/lib/perl5${PERL5LIB:+:${PERL5LIB}}"; export PERL5LIB; PERL_LOCAL_LIB_ROOT="/Users/miseq/perl5${PERL_LOCAL_LIB_ROOT:+:${PERL_LOCAL_LIB_ROOT}}"; export PERL_LOCAL_LIB_ROOT; PERL_MB_OPT="--install_base \"/Users/miseq/perl5\""; export PERL_MB_OPT; PERL_MM_OPT="INSTALL_BASE=/Users/miseq/perl5"; export PERL_MM_OPT;
また、新しい端末を開くと、次のメッセージが表示されます。
-bash: perl: command not found
これにより、私が実行したPerlのインストールがシェルから環境変数を呼び出すことができないという問題が発生したと考えました。助けが必要ですか?
非常にありがとう
答え1
投稿したコマンドは正しいようですが、最終結果は間違いなく.bash_profile
正しくありません。これパス変数シェルおよび他のプログラム照会コマンドを含むディレクトリーのリスト。このリストはコロン()で結合された項目として表示されます:
。たとえば、単純なPATHは/usr/local/bin:/usr/bin:/bin
シェルコマンドを使用して設定されます。
PATH=/usr/local/bin:/usr/bin:bin
その後、コマンドを入力すると、ls
シェルは最初に検索し、次に/usr/local/bin/ls
forを見つけて、最初に見つけた/usr/bin/ls
コマンド/bin/ls
を実行します。
あなたの場合、変数の内容は実際のディレクトリのリストではなく、変数を設定するためのガイドラインです。ディレクトリリストには標準ディレクトリが含まれていないため、シェルはいくつかの組み込みコマンドを除いてどのコマンドも見つけることができません。
ファイルを編集し、~/.bash_profile
誤ったPATH
設定を削除してから、新しい端末を開きます。行の先頭に入れて#
コメントアウトすることができます。端末でファイルを編集するには、まず上記のようなPATH
合理的なファイルを設定します(コマンドラインでこのファイルを実行すると、その端末内でのみ機能します)。
何が良いのか、何が悪いのかわからない場合は、質問を修正して内容をコピーして貼り付けてください~/.bash_profile
。