执行时遇到问题:npm install exec-sync

时间:2016-10-14 09:39:16

标签: node.js npm npm-install node-gyp

版本信息:

node@4.6.0
node-gyp@3.4.0
npm@2.15.9 

我尝试安装以下依赖项:

 "canvas": "^1.1.6",
 "exec-sync": "^0.1.6",
 "fabric": "^1.6.0",
 "request": "^2.67.0",
 "word": "^0.2.4" 

所以我在安装npm时安装了以下依赖项:

 "canvas": "^1.1.6",   
 "fabric": "^1.6.0",
 "request": "^2.67.0",
 "word": "^0.2.4" 

但exec-sync会出现以下错误:

1443 verbose stack Error: ffi@1.2.5 install: `node-gyp rebuild`
1443 verbose stack Exit status 1
1443 verbose stack     at EventEmitter.<anonymous> (/usr/lib/node_modules/npm/lib/utils/lifecycle.js:217:16)
1443 verbose stack     at emitTwo (events.js:87:13)
1443 verbose stack     at EventEmitter.emit (events.js:172:7)
1443 verbose stack     at ChildProcess.<anonymous> (/usr/lib/node_modules/npm/lib/utils/spawn.js:24:14)
1443 verbose stack     at emitTwo (events.js:87:13)
1443 verbose stack     at ChildProcess.emit (events.js:172:7)
1443 verbose stack     at maybeClose (internal/child_process.js:829:16)
1443 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)

我在这一点上失去了一点点,我尝试了下面的事情:

  1. 删除了所有node_modules并尝试了全新安装;
  2. 试图单独安装模块;
  3. 这是node.js与exec-sync构建的版本问题吗?我输了。

3 个答案:

答案 0 :(得分:1)

我修好了!

答案 1 :(得分:0)

以下是我作为npm安装进行测试的变通方法所遵循的步骤:

  • exec-sync中删除了package.json依赖性
  • npm install ffi(确定安装最新版本)
  • git clone https://github.com/jeremyfa/node-exec-sync
  • 编辑node-exec-sync/package.json以删除ffi依赖行
  • npm install ./node-exec-sync,然后npm安装完成

答案 2 :(得分:0)

不要使用node-exec-sync,由于各种原因,很难在我尝试过的每个OS上进行安装。

请使用gst-build,它没有任何这些不可构建的本机依赖项。基本上,它是node-exec-sync或内置child_process API的全方位更好的替代品。