マウンテンライオンにPerlでビルドされたMac OS Xを再インストールする方法


8

4日前にMountain Lionに更新したところ、私のperlスクリプトが機能しなくなったことに気付きました。それで、Perlが削除されたと思ったので、ActivePerl 5.14(最新バージョン)をインストールしました。ActivePerlをインストールした後、プログラムがまだ機能しませんでした。

Warning message:
running command 'perl calc.pl' had status 2 
Can't locate Excel/Writer/XLSX.pm in @INC (@INC contains:    
/Library/Perl/5.12/darwin-thread-multi-2level /Library/Perl/5.12 
/Network/Library/Perl/5.12/darwin-thread-multi-2level /Network/Library/Perl/5.12 
/Library/Perl/Updates/5.12.4 /System/Library/Perl/5.12/darwin-thread-multi-2level 
/System/Library/Perl/5.12 /System/Library/Perl/Extras/5.12/darwin-thread-multi-
2level /System/Library/Perl/Extras/5.12 .) at test.pl line 3.
BEGIN failed--compilation aborted at calc.pl line 3.

端末でperl -vと入力すると、新しくインストールされたActivePerlを使用していることが示されます。sudo clan-> Excel :: Writer :: XLSXを使用して、不足しているモジュールをインストールしました。ただし、5.12の場合はインストールされず、ActivePerl 5.14の場合はインストールされます。

ここにインストールする独自のMac OS X Perlシーム:

bash-3.2$ ls /Library/Perl/
5.10    5.12    Updates
bash-3.2$ ls /System/Library/Perl/
5.10    5.12    Extras  lib
bash-3.2$

ここにもバージョンがあります:

bash-3.2$ ls /opt/local/lib/perl5/
5.12.4      site_perl   vendor_perl

アンインストーラーを実行してActivePerlを削除することをお勧めします。私はそれを行い、5.12.4と/ opt / local / lib / perl5のsite_perlディレクトリも削除しました。

次に、cpanを使用してXLSX :: Writerモジュールを再インストールしたいと思いました。その後、古いperlディレクトリにインストールされると思いました。ただし、cpanを実行すると、次のエラーが発生します。

bash-3.2$ sudo cpan
Can't locate strict.pm in @INC (@INC contains:    
/opt/local/lib/perl5/site_perl/5.12.4/darwin-multi-2level 
/opt/local/lib/perl5/site_perl/5.12.4 
/opt/local/lib/perl5/vendor_perl/5.12.4/darwin-multi-2level 
/opt/local/lib/perl5/vendor_perl/5.12.4 /opt/local/lib/perl5/5.12.4/darwin-multi-
2level /opt/local/lib/perl5/5.12.4 /opt/local/lib/perl5/site_perl 
/opt/local/lib/perl5/vendor_perl/5.12.3/darwin-multi-2level 
/opt/local/lib/perl5/vendor_perl/5.12.3 /opt/local/lib/perl5/vendor_perl .) at 
/opt/local/bin/cpan line 5.
BEGIN failed--compilation aborted at /opt/local/bin/cpan line 5.

今何をしたらいいのか分かりません。私ができる最善のことは、おそらくMac OS X独自のPerlを再インストールすることだと思います。


Macportsがインストールされていますか?/ opt / local / binから推測
user151019 '31

はい、そうです。私はxcodeと開発者のコ​​マンドラインツールを再インストールしましたが、それでも同じです...システム全体を再インストールし、タイムマシンを使用して一部のものを復元します。とにかくクリーンなシステムを持っているとは
思いませ

使用するperlを決定する必要があります-Apple、macports、activestateのいずれかで、@ INCに1つだけ表示されることを確認します
どちら

まあ、私はapples perlを使用したいのですが、それを使用できるようにするには、そのバージョンのperl用のXLSX.pmモジュールもインストールする必要があります。ただし、一部のフォルダーを削除したため、cpanを開始できなくなりました...最善の方法は何ですか?
user26392 2012

どのディレクトリを削除しましたか?
user151019 2012

回答:


6

別のウェブサイトで次のコマンドを見つけました

$ sudo perl -MCPAN -e 'CPAN :: Shell-> notest(install => CPAN :: Shell-> r)'

これですべてのperlモジュールが更新され、すべてが通常に戻りました。理由は不明ですが、動作していることを気にしないでください。


これがそのコマンドのソース1つです
BryanH 2013

0

さまざまな理由により、OSをアップグレードするには、MacPortsを個別にアップグレード/再インストールする必要があります。開発者は、OSのアップグレード後にポート環境を再び機能させるために必要なプロセスの詳細を記載した、非常に優れた移行ページを実際に作成しました。

要約すると、実行する必要のある手順は次のとおりです。

  1. 新しいXcodeをダウンロードしてインストールします。
  2. コマンドライン(gcc、makeなど)ツールがインストールされていることを確認します。Xcodeアプリケーション内から、[設定]-> [ダウンロード]に移動してインストールします。
  3. お使いのOSバージョンに適したMacPortsインストーラーをダウンロードしてください。
  4. インストールしてください。
  5. 選択したターミナルを開きます。
  6. コマンドを実行しますport -qv installed > myports.txt。これにより、インストールされているすべてのポートのコピーが取得されます。
  7. すべてのポートをアンインストールします。 sudo port -f uninstall installed
  8. プレイエリアを片付けます。 sudo port clean all
  9. ファイルを確認しmyports.txt、実際に必要なパッケージを再インストールします。

実際にmyports.txtファイルを編集して、必要なパッケージの名前(および名前のみ)が含まれるようにファイルを編集し、次のコマンドを実行して、再インストールプロセスを高速化しました。

cat myports.txt | xargs -n1 port install

これが行うことは、そのファイルを調べてport install line、ファイルのすべての行に対してコマンドを実行することです。それは猫の役に立たない使い方ですが、誰が気にしても、読みやすくなります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.