在节点10中将安装错误与ifxnjs混淆

时间:2019-04-22 19:18:26

标签: node.js informix

在官方节点上运行项目的npm安装:10 docker image退出并出现一个令人困惑的构建错误。我可以提供其他详细信息,但我不知道有什么用。

../src/odbc.cpp: In static member function 'static v8::Local<v8::Value> ODBC::GetSQLError(SQLSMALLINT, SQLHANDLE, char*)':
../src/odbc.cpp:1184:87: error: no matching function for call to 'v8::Object::SetPrototype(v8::Local<v8::Value>)'
       objError->SetPrototype(Exception::Error(Nan::New(errorMessage).ToLocalChecked()));
                                                                                       ^
In file included from ../src/odbc.cpp:21:0:
/root/.node-gyp/10.15.3/include/node/v8.h:3442:37: note: candidate: v8::Maybe<bool> v8::Object::SetPrototype(v8::Local<v8::Context>, v8::Local<v8::Value>)
   V8_WARN_UNUSED_RESULT Maybe<bool> SetPrototype(Local<Context> context,
                                     ^~~~~~~~~~~~
/root/.node-gyp/10.15.3/include/node/v8.h:3442:37: note:   candidate expects 2 arguments, 1 provided
make: *** [Release/obj.target/ifx_njs_bind/src/odbc.o] Error 1
ifx_njs_bind.target.mk:113: recipe for target 'Release/obj.target/ifx_njs_bind/src/odbc.o' failed
make: Leaving directory '/usr/src/app/node_modules/ifxnjs-aa64/build'

已解决:通过切换到项目 sails-informix 而不是 sails-informix2 的项目相关性,Docker构建完成而没有错误。该版本安装了 ifxnjs 而不是“ ifxnjs-aa64”。

似乎作者在几个月前分叉了一些模块。我以前没有安装过这些,所以我不知道它们之间的差异。

1 个答案:

答案 0 :(得分:1)

我很好奇知道Docker VM平台。 NPM已为Linux64,Win64和ARM提供了Informix node.js 10.x驱动程序,如果您使用的是其中一种平台,则无需在本地构建驱动程序本机组件。由于某些原因,它开始启动Informix node.js驱动程序本机组件的本地构建(本地构建需要比通常的驱动程序安装更多的设置)。如果不是本地构建,则可以调查为什么您的环境启动构建的原因,而不仅仅是从NPM软件包管理器中获取二进制文件。您可以尝试仅安装Informix node.js驱动程序吗,可以使用以下命令来完成。

npm install ifxnjs

驱动程序安装成功后,无论出于何种原因,您都可以尝试进行“ npm安装”。