Error: libnode.so.64: cannot open shared object file: No such file or directory - Docker container
Error: libnode.so.64: cannot open shared object file: No such file or directory - Docker container
我在 ubuntu 上使用以下包创建了一个 docker 容器:default-jdk、node.js、curl、git、
npm,python,制作,gcc。
我正在尝试 运行 将此工具 https://github.com/oasis-tcs/odata-openapi/tree/master/tools 放入容器中。已安装所有必需的依赖项(如 node-gyp),并且可以使用 npm 安装工具本身而不会出现任何错误,正如自述文件中所述。
但是,在尝试执行命令时,我总是会收到此错误:
Error: libnode.so.64: cannot open shared object file: No such file or directory
at Object.Module._extensions..node (internal/modules/cjs/loader.js:1025:18)
at Module.load (internal/modules/cjs/loader.js:815:32)
at Function.Module._load (internal/modules/cjs/loader.js:727:14)
at Module.require (internal/modules/cjs/loader.js:852:19)
at require (internal/modules/cjs/helpers.js:74:18)
at Object.<anonymous> (/odata-openapi/tools/node_modules/java/lib/nodeJavaBridge.js:21:16)
at Module._compile (internal/modules/cjs/loader.js:959:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:995:10)
at Module.load (internal/modules/cjs/loader.js:815:32)
at Function.Module._load (internal/modules/cjs/loader.js:727:14)
到目前为止,我尝试重新安装 node.js、node-gyp、安装像 node-libs 这样的包和不同的 ubuntu 版本。该工具在主机系统上运行良好。
有人知道怎么处理吗?这可能真的很简单,但到目前为止我不知道如何进行。
提前致谢!
我怀疑你安装的 nodejs 不匹配。
安装正确版本的 nodejs 后 npm i
很重要。
在主机上,当 nodejs 在 npm i
之后升级时会出现这种情况。在这种情况下做:
npm clean-install
瞧瞧。
对于您的特定 docker 用例:您应该确保安装了 nodejs 并从容器中执行了 npm i
,通常在 Dockerfile
中使用 RUN
命令.这样你就不会出现不匹配的情况。
但是,如果您在主机上安装 nodejs 并将卷共享到您的容器,就会出现这种情况:避免这种情况并转向我之前提到的内容。
我在 ubuntu 上使用以下包创建了一个 docker 容器:default-jdk、node.js、curl、git、 npm,python,制作,gcc。
我正在尝试 运行 将此工具 https://github.com/oasis-tcs/odata-openapi/tree/master/tools 放入容器中。已安装所有必需的依赖项(如 node-gyp),并且可以使用 npm 安装工具本身而不会出现任何错误,正如自述文件中所述。
但是,在尝试执行命令时,我总是会收到此错误:
Error: libnode.so.64: cannot open shared object file: No such file or directory
at Object.Module._extensions..node (internal/modules/cjs/loader.js:1025:18)
at Module.load (internal/modules/cjs/loader.js:815:32)
at Function.Module._load (internal/modules/cjs/loader.js:727:14)
at Module.require (internal/modules/cjs/loader.js:852:19)
at require (internal/modules/cjs/helpers.js:74:18)
at Object.<anonymous> (/odata-openapi/tools/node_modules/java/lib/nodeJavaBridge.js:21:16)
at Module._compile (internal/modules/cjs/loader.js:959:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:995:10)
at Module.load (internal/modules/cjs/loader.js:815:32)
at Function.Module._load (internal/modules/cjs/loader.js:727:14)
到目前为止,我尝试重新安装 node.js、node-gyp、安装像 node-libs 这样的包和不同的 ubuntu 版本。该工具在主机系统上运行良好。
有人知道怎么处理吗?这可能真的很简单,但到目前为止我不知道如何进行。 提前致谢!
我怀疑你安装的 nodejs 不匹配。
安装正确版本的 nodejs 后 npm i
很重要。
在主机上,当 nodejs 在 npm i
之后升级时会出现这种情况。在这种情况下做:
npm clean-install
瞧瞧。
对于您的特定 docker 用例:您应该确保安装了 nodejs 并从容器中执行了 npm i
,通常在 Dockerfile
中使用 RUN
命令.这样你就不会出现不匹配的情况。
但是,如果您在主机上安装 nodejs 并将卷共享到您的容器,就会出现这种情况:避免这种情况并转向我之前提到的内容。