我对node.js
及其软件包管理系统及其require
非常陌生。我在使用npm install
安装了一堆软件包之后遇到了以下运行时错误:
ERROR: Couldn't initialise framework "wdio-mocha-framework".
Error: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found
(required by <path>.../node_modules/fibers/bin/linux-ia32-v8-5.0/fibers.node)
at Error (native)
我对错误的理解是二进制fibers.node
使用比运行时可用的libstdc++
更新的npm install
进行编译。
在我看来,fibers.node
确实编译了> fibers@1.0.13 install <path>.../node_modules/fibers
> node build.js || nodejs build.js
make[1]: Entering directory `<path>.../node_modules/fibers/build'
<snip some output, including warnings, here that I don't deem relevant>
Installed in `<path>.../node_modules/fibers/bin/linux-ia32-v8-3.14/fibers.node`
:
fibers.node
但是,我发现在运行时抛出错误的.../linux-ia32-v8-3.14/fibers.node
与编译错误不同,我认为这是问题的根源。
编译:
.../linux-ia32-v8-5.0/fibers.node
在运行时使用并失败:
wdio-mocha-framework
所以我猜测并希望如果我能说服fibers.node
使用本地编译的3.14
,那就行了。我的问题是:
5.0
而是说服node
在安装时编译?或者......其他?我们非常感谢您的帮助。
我想我自己解决了这个问题,万一有人发现这个可怜的,尘土飞扬的旧问题被遗忘在某个架子的后面......
问题显然是由于我的环境中并行安装的node-gyp
/ node
的多个版本以及构建过程,即使它是以较新版本的{{1}启动的在node-gyp
中找到了$PATH
,显然导致了fibers
的旧版本的构建。至少,我是这么认为的。
答案 0 :(得分:0)
最近刚遇到这个问题。我设法解决了它只是通过卸载当前版本的Node.JS(我有最近的,在这种情况下9.5.0)和安装推荐的,在这种情况下8.9.4。而问题已经消失。希望这有助于某人。