0

当我进入节点并尝试要求 libyaml 时,我得到:

> require('libyaml')
Error: /home/ubuntu/shadow/node_modules/libyaml/build/Release/binding.node: invalid ELF header
at Object.Module._extensions..node (module.js:485:11)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:362:17)
at require (module.js:378:17)
at Object.<anonymous> (/home/ubuntu/shadow/node_modules/libyaml/index.js:7:15)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)

我正在使用node version 0.8.12libyaml version 0.2.1。奇怪的是,错误是服务器相关的,但它似乎并不基于版本号,因为它在具有相同版本的机器之一上运行良好。

4

2 回答 2

1

还可以使用“npm rebuild module-name”在部署机器上重新编译 C 代码,作为预安装脚本的一部分。

文档

于 2014-10-29T09:01:38.213 回答
0

感谢 vinayr 建议我在生产机器上运行 npm install。问题是他们需要以不同的方式安装 npm。作为部署的一部分,我通过盒子上的预部署命令解决了这个问题。问题解决了。

于 2013-08-22T21:29:44.687 回答