私はPerlスクリプトを実行しようとしています。
use Env '$Foo1', '$Foo2';
次のメッセージが表示されます。
@INCでEnv.pmが見つかりません(@INCには/ usr/local/lib64/Perl5/usr/local/share/Perl5/usr/lib64/Perl5/vendor_Perl/usr/share/Perl5/vendor_Perl/usr/lib64/Perl5/usr/share/Perl5。)at ../path/to/Foo3 line 8
Env.pmモジュールを見つけようとしました(find . -name Env.pm -print
)しかし、何も起こりません。コマンドプロンプトに戻るだけです。
RHEL7とPerl v5.16.3を使用しています。
Perl-Envパッケージをインストールして、Env.pmを取得します。
yum install Perl-Env
また、yumのwhatprovides機能を使用して、どのパッケージがファイルを提供しているかを確認できます。
yum whatprovides */Env.pm
Perl-Env-1.04-2.el7.noarch : Perl module that imports environment variables as scalars or arrays Repo : base Matched from: Filename : /usr/share/Perl5/vendor_Perl/Env.pm
RPMパッケージには、どのパッケージにどのPerlモジュールが含まれているかを示すための確立された標準があります。形式はPerl(<NAME>)
です。したがって、あなたの場合、コマンドyum install 'Perl(Env)'
を実行して、Perl-Envパッケージに解決されることを確認できます。残念ながら、一部のパッケージは複数のモジュールを提供し、物事はメインのPerlパッケージに出入りすることがあるため、パッケージ名自体だけに依存することはできません。上記の形式は、適切なパッケージを一貫してインストールするための最も簡単な方法です。