1

我正在尝试在 OSX 上编写自己的项目以在 Ubuntu 上构建。它使用几个 npm 包来构建自己。其中一些依赖于 npm 包 js-yaml,而后者又依赖于一个名为“esprima”的包。一个全新的 Ubuntu 14.04 安装给了我找不到这个包的错误:

module.js:340 抛出错误;^ 错误:在 Function.Module._load (module.js:280:25) 在 Module.require (module.js:364: 17) 在对象的 require (module.js:380:17) 处。(/home/michahell/Documents/projects/pinbored-webkit/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/js/function.js:4:15) 在 Module._compile (module.js :456:26) 在 Object.Module._extensions..js (module.js:474:10) 在 Module.load (module.js:356:32) 在 Function.Module._load (module.js:312:12 ) 在 Module.require (module.js:364:17) npm ERR!奇怪的错误 8 npm WARN 这个失败可能是由于使用了旧的二进制“节点” npm WARN 有关进一步的解释,请阅读 /usr/share/doc/nodejs/README.Debian

输出告诉我它可能与遗留二进制节点有关,但我应该通过符号链接节点指向 nodejs 来解决这个问题,使用这个 SO 帖子: nodejs vs node on ubuntu 12.04

那么,是什么导致 npm / node 无法找到或安装这个包呢?

4

1 回答 1

0

所以我显然已经通过手动安装缺少的节点模块解决了这个问题:

npm install esprima

显然,需要这个 esprima 模块的 npm 模块可以在“本地”安装 npm 时找到它。如果这是有意的/确定性的行为,很高兴知道:)

于 2014-11-12T17:45:07.657 回答