root以外のユーザーとしてMac OS XでFile :: Pathをアップグレードする方法

root以外のユーザーとしてMac OS XでFile :: Pathをアップグレードする方法

私のMacコンピュータはかなり古い(Mac OS X 10.6.8)、Perlモジュールをアップグレードする方法について質問がありますFile::Path

私は主にLaTeXドキュメントを次のようにコンパイルします。エマルジョンこれはデフォルトではPerlスクリプトです。バージョン2.08が必要ですFile::Pathが、マイコンピュータには古いバージョン(バージョン2.07_02)があります。これはコマンドを実行したときに表示されるエラーメッセージですlatexmk

>> latexmk doc.tex
File::Path version 2.08 required--this is only version 2.07_02 at /usr/texbin/latexmk line 129.

cpanroot以外のユーザーとして実行し、コマンドを実行してこのパッケージをアップグレードしようとすると、upgrade File::Path画面にこのメッセージが表示されます。

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ERROR: Can't create '/Library/Perl/Updates/5.10.0/File'
mkdir /Library/Perl/Updates/5.10.0/File: Permission denied at 
  /System/Library/Perl/5.10.0/ExtUtils/Install.pm line 479   
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 at -e line 1
make: *** [pure_perl_install] Error 13
  DLAND/File-Path-2.09.tar.gz
  /usr/bin/make install  -- NOT OK
Warning (usually harmless): 'YAML' not installed, will not store persistent state
Failed during this command:
 DLAND/File-Path-2.09.tar.gz                  : install NO

cpanMac OS Xでは、root以外のユーザーとしてPerlモジュールをアップグレードできますか?

ベストアンサー1

root以外のユーザーは既存のインストールを変更できません。ただし、CPANモジュールをホームディレクトリ(または書き込みアクセス権を持つ任意の場所)にインストールしてから、まずモジュールをロードできます(ほとんどの場合、モジュール間で競合がある可能性がありますが、ここでは問題ありません)。

perlfaqのツールでcpanこれを行う方法についてのガイドラインがあります。しかし、少し退屈することができます。cpanmおすすめの場合が多いです。

https://stackoverflow.com/questions/2980297/how-can-i-use-cpan-as-a-non-root-user詳細なインストール手順がありますcpanm

その後、インストール後にシステムモジュールの代わりに使用するだけです。これを行う方法はいくつかあります。

PERL5LIBをローカルディレクトリに設定できます。たとえば、

$ export PERL5LIB=~/perl5
$ perl myprog

少数のスクリプトに対してのみこれを行う必要がある場合は、スクリプト自体にパスを追加できます。

#!/bin/perl
use lib '/home/me/perl5';
use File::Path;

どちらかが必要で十分ですが、何かをテストする場合は、次のように一時的にパスに場所を追加することもできます。

$ perl -I ~/perl5 myprog

おすすめ記事