Perlパスが削除されたため、実行されていないPerlスクリプトを受け取りました。 /opt/perl/lib/5.28.2 を指すようにパスを変更するにはどうすればよいですか?助けてくれてありがとう。よろしくお願いします。
[root@server1 ~]# perl -V
Can't locate Config.pm in @INC (you may need to install the Config module) (@INC contains: /xyz/perl/lib/site_perl/5.28.2/x86_64-linux /xyz/perl/lib/site_perl/5.28.2 /xyz/perl/lib/5.28.2/x86_64-linux /xyz/perl/lib/5.28.2).
BEGIN failed--compilation aborted.
[root@server1 ~]# perl -e "print \"@INC\""\
/xyz/perl/lib/site_perl/5.28.2/x86_64-linux /xyz/perl/lib/site_perl/5.28.2 /xyz/perl/lib/5.28.2/x86_64-linux /xyz/perl/lib/5.28.2
[root@server1 ~]#
[root@server1 ~]# yum install perl
Loaded plugins: langpacks, ulninfo\
Package 4:perl-5.16.3-299.el7_9.x86_64 already installed and latest version\
Nothing to do\
[root@server1 ~]# whereis perl
perl: /usr/bin/perl /opt/perl/bin/perl /usr/share/man/man1/perl.1.gz
[root@server1 ~]#
答え1
新規インストールパスに移動するには、まず削除します。
# yam remove perl
# yam install perl
個々のモジュールの場合はアップグレードする必要があります(perl自体と基本パッケージの一部を説明するConfig.pmではありません)。しかし、時には他のライブラリに役立つかもしれません。
# cpan
> upgrade SomeModule
これができない場合は、PERLLIB環境変数を使用できます。見つからない.pmの場所を見つけて、PERLLIBにパスを追加します。
# export PERLLIB=/somepath:$PERLIB
この行を独自の構成ファイルまたはグローバル構成ファイルに追加する必要があります。
単一のスクリプトのみを実行する必要がある場合は、それを変更できます。
#!/usr/bin/perl
use lib '/somepath'; # now this path is in @INC and modules from it can be used