Я разработчик Grails (с Oracle), который экспериментирует с Sails.js
У меня проблема с установкой адаптера оракула для ватерлинии. Шаги, которые я могу сделать для дублирования, с помощью отдельного приложения узла, используя Mac OS:
Следуя инструкциям на https://github.com/oracle/node-oracledb/blob/master/INSTALL.md#instosx
Я поместил файлы базового клиента Oracle в свою папку ~ / lib, используя: cp instantclient_12_2 / {libclntsh.dylib.12.1, libclntshcore.dylib.12.1, libons.dylib, libnnz12.dylib, libociei.dylib} ~ / lib /
В моем приложении узла я могу установить надстройку oracle, выполнив: npm install oracledb
Затем я могу запустить примеры, которые они предоставляют, например, выполнив «node select1.js», и он успешно подключается к базе данных и работает нормально и т. Д.
Затем я пытаюсь установить адаптер oracle для ватерлинии, выполнив: npm install sails-oracle-database
выдает эту ошибку:
>oracledb@1.13.1 install /Users/myuser/Documents/node/oracle/node_modules/sails-oracle-database/node_modules/oracledb
>node-gyp rebuild
node-oracledb ERR! Error: Cannot find /opt/oracle/instantclient/libclntsh.dylib
node-oracledb ERR! Error: Do you need to run 'cd /opt/oracle/instantclient && ln -s libclntsh.dylib.* libclntsh.dylib'?
node-oracledb ERR! Error: See https://github.com/oracle/node-oracledb/blob/master/INSTALL.md#instosx
gyp: Call to 'INSTURL="https://github.com/oracle/node-oracledb/blob/master/INSTALL.md#instosx"; ERR="node-oracledb ERR! Error:"; if [ -z $OCI_LIB_DIR ]; then if [ -f /opt/oracle/instantclient/libclntsh.dylib ]; then echo "/opt/oracle/instantclient/"; else echo "$ERR Cannot find /opt/oracle/instantclient/libclntsh.dylib" >&2; echo "$ERR Do you need to run 'cd /opt/oracle/instantclient && ln -s libclntsh.dylib.* libclntsh.dylib'?" >&2; echo "$ERR See $INSTURL" >&2; echo "" >&2; fi; else if [ -f "$OCI_LIB_DIR/libclntsh.dylib" ]; then echo $OCI_LIB_DIR; else echo "$ERR Cannot find \$OCI_LIB_DIR/libclntsh.dylib" >&2; echo "$ERR Do you need to run 'cd \$OCI_LIB_DIR && ln -s libclntsh.dylib.* libclntsh.dylib'?" >&2; echo "$ERR See $INSTURL" >&2; echo "" >&2; fi; fi;' returned exit status 0 while in binding.gyp. while trying to load binding.gyp
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack at ChildProcess.onCpExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:336:16)
gyp ERR! stack at emitTwo (events.js:125:13)
gyp ERR! stack at ChildProcess.emit (events.js:213:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:197:12)
Попытка разобраться в ошибке ... Похоже, она хочет, чтобы я установил переменные env, такие как: OCI_LIB_DIR
Тем не менее, инструкции на странице оракула, на которую он ссылается, говорят, что в версии oracle-node 2 больше нет необходимости. Возможно ли, что адаптер waterline-oracle еще не совместим с этой версией?