Meine perl-Installation unter Mac OS X 10.6 durcheinander gebracht

8309
dlamblin

Ich habe meine Perl-Installation unter Mac OS X 10.6 durcheinander gebracht. Ich erkläre wie:
Ich wollte ein Cpan-Paket für Bundle :: DBD :: mysql hinzufügen, cpan sagte mir, ich sollte zuerst Bundle :: CPAN aktualisieren. Ich konnte wegen Berechtigungen nicht. Also ich sudoed perl -MCPAN -e shellund aktualisiert cpan, dann habe ich die mysql - Bundle, aber es einige Tests nicht bestanden, die ich dann die Installation gezwungen (es funktioniert btw). Aus irgendeinem Grund entschied ich mich, das MySQL-Bundle neu aufzubauen. Das hat lange gedauert. Irgendwann wurde mir klar, dass es wie Perldoc viel umgebaut hatte.

Nun, wann immer ich versuche, perldoc zu starten, habe ich keine Erlaubnis, dies zu tun, aber wenn ich perldoc Sudo erzähle, kann ich es nicht finden.

dlamblins-macbook:~ dlamblin$ perldoc -bash: /usr/bin/perldoc: Permission denied dlamblins-macbook:~ dlamblin$ sudo perldoc Password: sudo: perldoc: command not found dlamblins-macbook:~ dlamblin$ sudo /usr/bin/perldoc Password: sudo: /usr/bin/perldoc: command not found 

Ich möchte Perl auf die Art und Weise installieren, wie Apple es installiert hat, als ich auf Snow Leopard umgestiegen bin (obwohl DBD :: mysql zu behalten wäre schön), und ich weiß nicht, wo ich anfangen soll. Ich möchte nicht mit einigen Fink-Paketen oder Ports im Stil des Systems gehen. Die neueste Perl 5.10 zu bekommen, wäre ein Plus.

4

6 Antworten auf die Frage

4
dlamblin

Es scheint, als ob ich ein totaler Mac Newb bin (obwohl ich seit dem LC einen Mac verwendet habe), aber seit die Installation des kombinierten Updates für 10.6.2 dieses Problem nicht behoben hat, obwohl es die Dateien überschrieben hat, wurde mir das verspätet Die Schaltfläche "Reparaturberechtigungen" des Festplatten-Dienstprogramms würde das Problem beheben. Und es tat.

Das Seltsame ist, dass die eigentliche Binärdatei /usr/bin/perldocnicht angerührt wurde. Es hat wahrscheinlich etwas mit einem dieser Bundles in der Ausgabe zu tun.

Hier ist, was es ausgegeben hat, da es Sachen repariert hat (die letzte Zeile ist für mich ein?)

Repairing permissions for “Macintosh HD” Permissions differ on "private/etc/postfix/main.cf.default", should be -rw-r--r--, they are -r--r--r-- . Repaired "private/etc/postfix/main.cf.default". Permissions differ on "usr/bin/c2ph", should be -rwxr-xr-x, they are -rw-rw-rw- . Repaired "usr/bin/c2ph". Permissions differ on "usr/bin/config_data", should be -rwxr-xr-x, they are -r-xr-xr-x . Repaired "usr/bin/config_data". Permissions differ on "usr/bin/cpan", should be -rwxr-xr-x, they are -r-xr-xr-x . Repaired "usr/bin/cpan". Permissions differ on "usr/bin/enc2xs", should be -rwxr-xr-x, they are -r-xr-xr-x . Repaired "usr/bin/enc2xs". Permissions differ on "usr/bin/instmodsh", should be -rwxr-xr-x, they are -r-xr-xr-x . Repaired "usr/bin/instmodsh". Permissions differ on "usr/bin/piconv", should be -rwxr-xr-x, they are -r-xr-xr-x . Repaired "usr/bin/piconv". Permissions differ on "usr/bin/prove", should be -rwxr-xr-x, they are -r-xr-xr-x . Repaired "usr/bin/prove". Permissions differ on "usr/bin/shasum", should be -rwxr-xr-x, they are -r-xr-xr-x . Repaired "usr/bin/shasum". Permissions differ on "usr/share/derby", should be drwxr-xr-x, they are lrwxr-xr-x . Repaired "usr/share/derby". Permissions differ on "Library/Perl/5.10.0/darwin-thread-multi-2level/NetSNMP/default_store.pm", should be -rw-rw-r--, they are -r--r--r-- . Repaired "Library/Perl/5.10.0/darwin-thread-multi-2level/NetSNMP/default_store.pm". Permissions differ on "Library/Perl/5.10.0/darwin-thread-multi-2level/auto/NetSNMP/default_store/autosplit.ix", should be -rw-rw-r--, they are -r--r--r-- . Repaired "Library/Perl/5.10.0/darwin-thread-multi-2level/auto/NetSNMP/default_store/autosplit.ix". Permissions differ on "Library/Perl/5.10.0/darwin-thread-multi-2level/auto/NetSNMP/default_store/default_store.bundle", should be -rwxrwxr-x, they are -r-xr-xr-x . Repaired "Library/Perl/5.10.0/darwin-thread-multi-2level/auto/NetSNMP/default_store/default_store.bundle". Warning: SUID file "System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/MacOS/ARDAgent" has been modified and will not be repaired.  Permissions repair complete 
3
Lawrence Velázquez

Versuchen Sie, Pacifist zu verwenden, um das entsprechende Installationspaket von Ihrer 10.6-CD auszuführen. Ich bin mir nicht sicher, welches Paket sich aus meinem Kopf befindet, aber Pacifist lässt Sie die Pakete auf CD durchsuchen und durchsuchen. Ich glaube nicht, dass dadurch neue Dateien entfernt werden, aber Ihre Perl-Installation wird auf den Standard zurückgesetzt. Sie können auch Dateien und Ordner selektiv extrahieren.

Using Pacifist to search for "Perl" on the Mac OS X 10.6 disc.

Ich habe es vor ein paar Jahren benutzt, um Schaden zu bekämpfen (ziemlich erfolgreich, könnte ich hinzufügen), nach einem ziemlich peinlichen Vorfall sudo rm -fr /bin. Fragen Sie nicht.

2

Ja ... Disk Utilities "Repair Permissions" funktionierte auch für mich. Gleiches Problem ... das DBD :: mysql-Modul wurde installiert und die Berechtigungen wurden angehoben.

1
gorilla

Sie können immer die neueste Perl von herunterladen http://www.cpan.org/src/5.0/latest.tar.bz2 .

Sie müssen die Archivierung aufheben und Configure ausführen.

Ich persönlich ziehe es normalerweise vor, meine eigene Perl-Installation zu haben, selbst wenn das Basis-Betriebssystem eine Version enthielt. Das bedeutet, dass meine Skripts nach meinem Zeitplan auf spätere Versionen aktualisiert werden können, nicht auf die Betreuer.

Es ist keine besonders gute Idee, die standardmäßige Perl-Installation mit einer benutzerdefinierten zu überschreiben, da Softwareupdates und dergleichen möglicherweise Annahmen bezüglich des Standard-System-Perl treffen. Wenn Sie Ihr eigenes Perl rollen möchten, installieren Sie es am besten in / usr / local oder an einem anderen Ort, an dem es sich nicht befindet. Auf jeden Fall muss er noch sein System Perl reparieren. Lawrence Velázquez vor 14 Jahren 1
Ich würde die Standardinstallation nicht überschreiben, ich meine, eine neue Installation sollte in einem separaten Verzeichnis installiert werden. gorilla vor 14 Jahren 0
Gotcha, aber das repariert immer noch nicht sein defektes Standard-Perl. Lawrence Velázquez vor 14 Jahren 1
Informationen zum Überschreiben des Standard-Perls finden Sie unter http://stackoverflow.com/questions/1992720/perl-strategy-for-a-new-snow-leopard-user/1992934#1992934 Ether vor 14 Jahren 0
1
fin

Vielleicht hilft es, das neueste Update unter http://support.apple.com/kb/DL959 zu installieren . Ich hatte massive Probleme nach einer vollständigen Systemwiederherstellung mit Time Machine. es scheint, dass dies viele Dinge verderbt und ich konnte Quicklook nicht mehr verwenden als andere Sachen. Nach der Neuinstallation dieses Updates funktionieren alle Funktionen wie gewohnt. mit ein bisschen Glück ist perl in diesem update.

Ich habe es versucht und es hat nicht funktioniert. Es wurde jedoch das rätselhafte Flash-Plugin behoben, das seit der Aktualisierung auf die verbesserte "Safari-Plugin-Stabilität" der Fluch von YouTube (und anderen Flash-Videos) war. Durch die Neuinstallation wurde dieses Problem behoben, jedoch nicht das Problem mit meiner Perldoc-Berechtigung. dlamblin vor 14 Jahren 0
Eigentlich kommt und geht dieses Flash Plug in Stabilitätssache; Es geht mit einem Neustart und ich weiß noch nicht, was es verursacht. dlamblin vor 14 Jahren 0
Für Interessierte: Die Flash-Stabilität hatte mit Audio in Flash-Video und einer Inkompatibilität mit Audio Hijack Pro zu tun. Siehe: http://superuser.com/questions/83315/ dlamblin vor 14 Jahren 0
0
bbaassssiiee

Installierte frischen CPAN auf Lion.

Vor der "Reparaturberechtigung" des Festplatten-Dienstprogramms:

$ perldoc -bash: /usr/bin/perldoc: Permission denied 

Funktioniert wieder nach:

$ perldoc Usage: perldoc5.12 [-h] [-V] [-r] [-i] [-D] [-t] [-u] [-m] [-n nroffer_program] [-l] [-T] [-d output_filename] [-o output_format] [-M FormatterModuleNameToUse] [-w formatter_option:option_value] [-L translation_code] [-F] [-X] PageName|ModuleName|ProgramName perldoc5.12 -f PerlFunc perldoc5.12 -q FAQKeywords perldoc5.12 -v PerlVar  The -h option prints more help. Also try "perldoc perldoc" to get acquainted with the system. [Perldoc v3.15_02]