web-dev-qa-db-ja.com

Perlスクリプトが@INCでEnv.pmを見つけることができません

私は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を使用しています。

2
NuclearVision

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
5
Scott-Mc

RPMパッケージには、どのパッケージにどのPerlモジュールが含まれているかを示すための確立された標準があります。形式はPerl(<NAME>)です。したがって、あなたの場合、コマンドyum install 'Perl(Env)'を実行して、Perl-Envパッケージに解決されることを確認できます。残念ながら、一部のパッケージは複数のモジュールを提供し、物事はメインのPerlパッケージに出入りすることがあるため、パッケージ名自体だけに依存することはできません。上記の形式は、適切なパッケージを一貫してインストールするための最も簡単な方法です。

1
carlwgeorge