mac安装npm包报错

我正在尝试在树莓派上运行电子应用程序。我用的时候 我的代码中var TJBot = require('tjbot')导入节点包,发生以下错误:

## There is an issue with `node-fibers` ##
`/Users/apple/app/node_modules/asyncawait/node_modules/fibers/bin/darwin-x64-53/fibers.node` is missing.

Try running this to fix the issue: /Users/apple/app/node_modules/electron/dist/Electron/
app/Contents/Frameworks/Electron Helper.app/Contents/MacOS/Electron Helper

/Users/apple/app/node_modules/
asyncawait/node_modules/fibers/build

Uncaught Error: Missing binary. See message above.
    at Object.<anonymous> (/Users/apple/app/node_modules/asyncawait/node_modules/fibers/fibers.js:20:8)
    at Object.<anonymous> (/Users/apple/app/node_modules/asyncawait/node_modules/fibers/fibers.js:26:3)
    at Module._compile (module.js:571:32)
    at Object.Module._extensions..js (module.js:580:10)
    at Module.load (module.js:488:32)
    at tryModuleLoad (module.js:447:12)

如果我删除此行或在不使用电子的情况下运行它,一切正常,所以我不确定这个节点库是否存在问题或者是否是由电子引起的

/Users/apple/app/node_modules/asyncawait/node_modules/fibers/bin/内我可以看到

darwin-ia32-46 darwin-x64-48  linux-ia32-48  repl           win32-x64-46
darwin-ia32-48 darwin-x64-51  linux-x64-46   win32-ia32-46  win32-x64-48
darwin-x64-46  linux-ia32-46  linux-x64-48   win32-ia32-48

为什么我需要darwin-x64-53以及它来自哪里?

2 个答案:

答案 0 :(得分:1)

Fibers是根据原生二进制代码构建的,它不是纯粹的javascript。 Rasperry Pi在ARM上运行,它不包含在预构建的二进制文件中。预构建的二进制文件支持OSX(darwin),linux和windows的32位和64位架构。

这意味着您需要为系统手动构建光纤,而不是通过NPM安装。 The README for Fibers明确说明了如何执行此操作。为方便访问,我将它们包含在此处。请按照这些说明尝试在Raspberry Pi / ARM上运行它。

从源

安装

  • git clone git://github.com/laverdet/node-fibers.git
  • cd node-fibers
  • npm install

注意:节点光纤使用node-gyp 建造。要手动调用构建过程,可以使用node-gyp rebuild。 这将把编译的扩展名放在build/Release/fibers.node中。然而, 当你执行require('fibers')时,它会期望模块在,为 例如,bin/linux-x64-v8-3.11/fibers.node。您可以手动放置模块 每次构建时都可以使用,或者您可以使用包含的构建脚本。或 npm installnode build -f会为您执行此操作。如果你要成为 在节点光纤上进行攻击,首先做node-gyp configure可能是值得的 然后对于后续的重建,你可以做node-gyp build 快于完整npm installnode-gyp rebuild

答案 1 :(得分:0)

我在Linux Mint上遇到了同样的问题,并按以下方法解决了它; 基于github source for node-fibers部分,有关从源代码进行安装;

git clone git://github.com/laverdet/node-fibers.git
cd node-fibers
npm install

然后我创建了一个新目录;

mkdir /usr/local/lib/node_modules/iron-meteor/node_modules/fibers/bin/linux-x64-57/

然后我将fibres.node复制到新创建的目录中

cp bin/linux-x64-57-glibc/fibers.node /usr/local/lib/node_modules/iron-meteor/node_modules/fibers/bin/linux-x64-57/

然后一切都对我有用。您可能需要调整权限。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值