Eine Mac-Installation von Perl dazu zu bringen, gut mit Oracle zu spielen, ist ein bisschen mühsam - wenn es einmal läuft, ist es fantastisch, es zum Laufen zu bringen, ist ein wenig frustrierend..
Das Folgende hat für mich auf ein paar verschiedenen Intel-Macs funktioniert, es könnte durchaus überflüssige Schritte geben und es wird wahrscheinlich nicht dasselbe für andere Plattformen sein.
Dies erfordert die Verwendung der Shell, des Root-Benutzers und ein wenig CPANing - nichts zu umständlich
Erstellen Sie zunächst ein Verzeichnis für den Oracle Pap - Bibliotheken, Instant Client usw.
sudo mkdir /usr/oracle_instantClient64
Laden Sie alle 64-Bit-Instant-Client-Pakete von oracle herunter und extrahieren Sie sie in das obige Verzeichnis
Erstellen Sie innerhalb dieses Verzeichnisses einen Symlink für eine der darin enthaltenen Dateien
sudo cd /usr/oracle_instantClient64
sudo ln -s /usr/oracle_instantClient64/libclntsh.dylib.10.1 libclntsh.dylib
Das folgende Verzeichnis ist fest in den Oracle-Instant-Client codiert - Gott weiß warum - also müssen Sie es erstellen und symbolisch verlinken
sudo mkdir -p /b/227/rdbms/
sudo cd /b/227/rdbms/
sudo ln -s /usr/oracle_instantClient64/ lib
Sie müssen ein paar Umgebungsvariablen hinzufügen, also bearbeiten Sie /etc/profile und fügen Sie sie hinzu, damit sie für alle Benutzer existieren:
export ORACLE_HOME=/usr/oracle_instantClient64
export DYLD_LIBRARY_PATH=/usr/oracle_instantClient64
Versuchen Sie nun, DBD::Oracle über CPAN zu installieren – dies wird fehlschlagen, aber es bedeutet, dass alle Abhängigkeiten heruntergeladen werden und das Modul für uns abgerufen wird
sudo perl -MCPAN -e shell
install DBD::Oracle
Wenn dies fehlschlägt, beenden Sie CPAN und gehen Sie zu Ihrem .cpan/build-Verzeichnis - wenn Sie die automatische Konfiguration von CPAN verwendet haben, wird es sein
cd ~/.cpan/build
Wenn Sie nicht automatisch konfiguriert haben, können Sie Ihr Build-Verzeichnis mit dem folgenden Befehl in CPAN
findeno conf build_dir
Suchen Sie im Build-Verzeichnis nach dem DBD::Oracle-Verzeichnis, das gerade erstellt wurde (es wird so etwas wie DBD-Oracle-1.28-? heißen) und cd hinein.
Jetzt müssen wir zum Root-Benutzer wechseln. Root ist in OSX standardmäßig nicht aktiviert – Einzelheiten zur Aktivierung finden Sie in diesem Beitrag auf der Apple-Website
Sobald wir uns als root angemeldet haben, müssen wir die obigen Umgebungsvariablen für root setzen:
export ORACLE_HOME=/usr/oracle_instantClient64
export DYLD_LIBRARY_PATH=/usr/oracle_instantClient64
Jetzt, während wir immer noch als root angemeldet sind, müssen wir das Makefile für das Modul ausführen, dann make, dann install
perl Makefile.pl
make
make install
Angenommen, dass alles ohne Fehler geklappt hat Logout von root:wir sind DBD'd up! Wenn dies nicht funktioniert hat, ist es an der Zeit, Google auf die angezeigten Fehler hinzuweisen
Jetzt nur noch das DBI-Modul installieren
sudo perl -MCPAN -e shell
install DBI
Jetzt sind Sie fertig - genießen Sie Ihr neues Leben perly oracley
Zusätzliche Informationen von user852637:
-
Korrektur zu diesem Schritt
perl Makefile.pl make install
Der letzte Schritt sollte
make install
sein -
Während make kann ein Fehler auftreten, der wie folgt aussieht:
Um dies zu korrigieren, müssen Sie die nach dem Schritt „perl Makefile.pl“ erstellte Datei „Makefile“ bearbeiten und alle Vorkommen des folgenden Textes entfernen:
-arch ppc
Dadurch wird der Fehler behoben.
-
Bei der Installation des DBI-Moduls tritt der gleiche Fehler wie unter (2.) beschrieben auf. Sie müssen das
Makefile
bearbeiten erstellt nach demperl Makefile.pl
Schritt und entfernen Sie alle Vorkommen des folgenden Textes :-arch ppc