So fügen Sie Perl-Module mit CPAN für El Capitan hinzu

3418
John Wooten

Als OS X El Capitan eintraf, verschwand die Möglichkeit, Peran-Module mit CPAN hinzuzufügen oder zu aktualisieren. Es scheint, dass die Skripte entweder ändern wollen /usr/bin, was jetzt verboten ist, oder sie versuchen, Binärdateien zu verwenden, von /sw/usr/bindenen es keine gibt und /usr/binstattdessen darin sind. Perl selbst kann nicht installiert werden, da es in installieren möchte /usr/binstatt /usr/local/bin.

Wo sind die Skripte, die diese verwenden /sw/usr/bin? Es scheint, dass sie einen PATH verwenden sollten, um Binärdateien zu finden, anstatt sie fest zu codieren.

Weiß jemand, wie man Perl und CPAN auf El Capitan repariert? Detaillierte Anweisungen wären hilfreich.

2

1 Antwort auf die Frage

2
Tonin

Ich hatte kein Problem beim Hinzufügen neuer CPAN-Pakete zum von OSX El Capitan gelieferten Perl. Standardmäßig sind sie in Ihrem Home-Verzeichnis eingebaut und /Library/Perl/5.18/mit einem Root-Privileg beschreibbar.

Das von /sw/Ihnen erwähnte Präfix scheint von einer Fink- Installation zu stammen . Wenn Sie zuvor ein anderes Perl von Fink installiert haben, müssen Sie wahrscheinlich Ihre Fink-Installation und das von ihr stammende Perl-Paket aktualisieren.

Wenn Sie sich sicher sind, dass Sie Fink nicht verwenden und eine andere Perl-Version neben der in OS X enthaltenen Version ausführen möchten, können Sie die von Homebrew verwenden . Es wird installiert /usr/localund kann aufgerufen werden. Alle OSX-Perl-Programme verwenden jedoch weiterhin die mit OSX gelieferte Perl-Version. Beachten Sie, dass Fink und Homebrew nicht gut miteinander spielen. Es ist besser, sich an einen einzelnen zu halten.

Wenn Sie mehrere Perl-Versionen ausführen und zwischen diesen hin- und herschalten möchten, schlage ich vor, dass Sie sich Perlbrew ansehen .

Einige weitere nützliche Befehle zum weiteren Debuggen Ihrer Perl-Installation:

  • which perl wird dir sagen, wo dein aktuelles perl exec installiert ist
  • perl -V erhalten Sie weitere Informationen über die Perl-Version, das kompilierte Datum und die Optionen sowie die Include-Pfade, nach denen nach Modulen gesucht wird
  • perldoc perllocal listet die Perl-Module auf, die Sie lokal mit CPAN installiert haben

Über CPAN, wie Sie bemerkt haben, schlägt ein regelmäßiges CPAN-Upgrade fehl. Es gibt jedoch eine Lösung, indem Sie CPAN anweisen, es zu installieren /usr/local/bin/. Ich habe dieses CPAN-Upgrade in dieser Antwort dokumentiert .