NodeJS(Sync)找不到光纤二进制文件 [英] Nodejs (Sync) cannot find fibers binaries

查看:7
本文介绍了NodeJS(Sync)找不到光纤二进制文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我见过类似的问题,但还没有对我有效的真正解决方案(大多数用户只是重新安装光纤或流星(我没有使用流星))。

我已经将NodeJS模块Sync添加到我的NodeJS 0.12.6项目中。它的依赖项是随Sync自动安装的光纤模块。现在我想通过Require加载同步,但失败并显示消息

.../Win32-x64-v8-4.3/fibers.node未找到

而且它是正确的:在sync/node_MODULES/fires/bin/中,没有名为win32-x64-v8-4.3,的目录,只有win32-x64-v8-4.2,重命名并没有解决问题(如果重命名太容易了)...🙈

  1. 如何解决此问题?怎么会发生这种情况?
  2. 最后一个数字(4.3)是什么意思?我猜是Windows,64位,Java V8引擎,然后呢?光纤版本?

有什么想法或提示吗?

更新:

  • 我尝试将节点升级到0.12.6,但没有任何更改。
  • 我知道4.3是什么了,是V8版本。那么,当使用电子邮件运行我的应用程序时,它是V8:‘4.3.61.21’。用NODE检查版本时为3.28。所以这可能是电子的"故障"?

更新#2:

  • 好的,我发现电子是基于io.js,而不是节点。这就解释了不同的V8版本。但仍然没有解决方案。在安装具有最新io.js(2.3.3)的光纤时,它测试4.2二进制,但电子需要4.3:(

更新#3:

  • 即使使用与Electronics相同的io.js 2.3.1版,它也只安装4.2二进制文件。

更新4:

解决方案:

  • 请参阅下面我的答案。:)

推荐答案

最后,我不得不自己编译纤维。正如更新4中所描述的,我以前也尝试过。但是node-gyp总是失败,我没有注意到我必须自己链接到新的二进制文件...

cd ~/my-project-root/
npm install sync
cd ./node_modules/sync/node_modules/fibers
node-gyp configure
HOME=~/.electron-gyp node-gyp rebuild --target=0.29.1 --arch=x64 --dist-url=https://atom.io/download/atom-shell

然后我已经创建了缺失的目录,并将新的二进制文件移到那里:

mkdir bin/win32-x64-v8-4.3
mv build/Release/fibers.node bin/win32-x64-v8-4.3/fibers.node

现在,同步像护身符一样工作。

这篇关于NodeJS(Sync)找不到光纤二进制文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆