Node.js模块" fiber"没有采取正确的版本

时间:2016-07-07 08:50:45

标签: node.js npm webdriver-io node-fibers

我对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,那就行了。我的问题是:

  1. 会修复吗?
  2. 如果是这样,我该如何实现?
  3. 如果没有,那么进一步了解和修复此错误的正确方向是什么?也许我不应该在运行时使用5.0而是说服node在安装时编译?或者......其他?
  4. 我们非常感谢您的帮助。

    更新/编辑:

    我想我自己解决了这个问题,万一有人发现这个可怜的,尘土飞扬的旧问题被遗忘在某个架子的后面......

    问题显然是由于我的环境中并行安装的node-gyp / node的多个版本以及构建过程,即使它是以较新版本的{{1}启动的在node-gyp中找到了$PATH,显然导致了fibers的旧版本的构建。至少,我是这么认为的。

1 个答案:

答案 0 :(得分:0)

最近刚遇到这个问题。我设法解决了它只是通过卸载当前版本的Node.JS(我有最近的,在这种情况下9.5.0)和安装推荐的,在这种情况下8.9.4。而问题已经消失。希望这有助于某人。