dyld: библиотека не загружена - установка sqlplus - PullRequest
0 голосов
/ 31 мая 2019

Я хочу установить sqlplus на мой Mac.Итак, сначала я скачал два файла по этой ссылке https://www.oracle.com/technetwork/topics/intel-macsoft-096467.html эти два файла:

  1. instantclient-basic-macos.x64-18.1.0.0.0.zip

  2. instantclient-sqlplus-macos.x64-18.1.0.0.0.zip

Затем я переместил эти файлы .zip на рабочий стол и с моеготерминал Я написал эти команды:

unzip /Users/adrianagiuliano/Desktop/instantclient-basic-macos.x64-18.1.0.0.0.zip

и

unzip /Users/adrianagiuliano/Desktop/instantclient-sqlplus-macos.x64-18.1.0.0.0.zip

, а затем:

export PATH=/Users/adrianagiuliano/Desktop/instantclient_18_1:$PATH

и:

which sqlplus

Теперь,когда я пытаюсь запустить sqlplus с помощью команды sqlplus, у меня появляется это сообщение:

dyld: Library not loaded: @rpath/libclntsh.dylib.18.1
  Referenced from: /Users/adrianagiuliano/Desktop/instantclient_18_1/sqlplus
  Reason: image not found
Abort trap: 6

Почему?Как это исправить?

Спасибо большое!

Ответы [ 2 ]

1 голос
/ 04 июня 2019

В случае сомнений следуйте инструкциям по установке , которые находятся на странице, с которой вы загрузили Instant Client.В итоге:

cd ~
unzip instantclient-basic-macos.x64-18.1.0.0.0.zip
unzip instantclient-sqlplus-macos.x64-18.1.0.0.0.zip
mkdir ~/lib
ln -s ~/instantclient_18_1/libclntsh.dylib ~/lib/
export PATH=~/instantclient_18_1:$PATH

Шаг, который вы пропустили, - это создание символической ссылки.С тех пор, как SIP от Apple сломал DYLD_LIBRARY_PATH, вам нужно было установить Oracle Client lib в ~/lib или /usr/local/lib.

1 голос
/ 31 мая 2019

Ошибка предполагает, что в вашем каталоге ~/Desktop/instantclient_18_1 только содержится содержимое файла instantclient-sqlplus-macos.x64-18.1.0.0.0.zip. Я подозреваю, что вы пробовали это несколько раз из разных мест, и у вас получилась смесь частичных и полных установок, и вам нужно выбрать частичную.

Когда вы делаете:

unzip /Users/adrianagiuliano/Desktop/instantclient-basic-macos.x64-18.1.0.0.0.zip
unzip /Users/adrianagiuliano/Desktop/instantclient-sqlplus-macos.x64-18.1.0.0.0.zip

тогда оба zip-архива должны быть расширены в один каталог instantclient_18_1, который будет находиться в вашем текущем рабочем каталоге . Если вы не изменили на ~/Desktop до запуска, то это может быть где угодно ...

Я бы посоветовал вам начать все сначала. Найдите и удалите все каталоги с именем instantclient_18_1, из своего домашнего каталога, ~/Desktop, ~/Downloads и т. Д., Где бы вы ни находились; в основном, чтобы избежать путаницы.

Тогда, поскольку ваши zip-файлы в настоящее время находятся на рабочем столе, для простоты сделайте:

cd ~/Desktop
unzip instantclient-basic-macos.x64-18.1.0.0.0.zip
ls instantclient_18_1 | wc -l
unzip instantclient-sqlplus-macos.x64-18.1.0.0.0.zip
ls instantclient_18_1 | wc -l

Первый ls должен дать вам счет из 18 файлов. Второй должен дать вам 23 файла.

После того, как вы это сделаете, sqlplus должно работать, используя PATH, который вы уже изменили.

Вы можете поместить этот каталог instantclient_18_1 в любое место, если ваш PATH ссылается на него, и вы можете добавить настройку вашего пути к файлу ~/.bash_profile, чтобы вам не приходилось делать это вручную в будущее.

...