linux - 找不到模块/build/Debug/iconv.node

标签 linux node.js ubuntu npm

我正在尝试在 Ubuntu VM 上运行 node.js 服务器。

我一直收到这个错误:

Error: Cannot find module '../build/Debug/iconv.node'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (/vagrant/api/node_modules/geoipcity/node_modules/iconv/lib/iconv.js:27:14)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (/vagrant/api/node_modules/geoipcity/geoipcity.js:35:13)

这一行的代码:

/vagrant/api/node_modules/geoipcity/node_modules/iconv/lib/iconv.js:27:14

看起来像这样:

var bindings;
try {
  bindings = require('../build/Release/iconv.node');
}
catch (e) {
  bindings = require('../build/Debug/iconv.node');
}

奇怪的是,当我浏览我的目录结构时,这个文件存在:

/vagrant/api/node_modules/geoipcity/node_modules/iconv/build/Release/iconv.node 

所以我不确定为什么 try catch block 会被捕获。实际上,当我写下最后一句话时,我决定尝试记录捕获到的错误。这是:

[Error: /vagrant/api/node_modules/geoipcity/node_modules/iconv/build/Release/iconv.node: invalid ELF header]

不确定这是否相关,但我尝试运行:

node-gyp rebuild

有了这个结果

gyp info it worked if it ends with ok gyp info using node-gyp@0.13.0 gyp info using node@0.10.26 | linux | ia32 gyp info spawn python gyp info spawn args [ '/usr/lib/node_modules/node-gyp/gyp/gyp_main.py', gyp info spawn args 'binding.gyp', gyp info spawn args '-f', gyp info spawn args 'make', gyp info spawn args '-I', gyp info spawn args '/vagrant/api/build/config.gypi', gyp info spawn args '-I', gyp info spawn args '/usr/lib/node_modules/node-gyp/addon.gypi', gyp info spawn args '-I', gyp info spawn args '/home/vagrant/.node-gyp/0.10.26/common.gypi', gyp info spawn args '-Dlibrary=shared_library', gyp info spawn args '-Dvisibility=default', gyp info spawn args '-Dnode_root_dir=/home/vagrant/.node-gyp/0.10.26', gyp info spawn args '-Dmodule_root_dir=/vagrant/api', gyp info spawn args '--depth=.', gyp info spawn args '--no-parallel', gyp info spawn args '--generator-output', gyp info spawn args 'build', gyp info spawn args '-Goutput_dir=.' ] gyp: binding.gyp not found (cwd: /vagrant/api) while trying to load binding.gyp gyp ERR! configure error gyp ERR! stack Error: <code>gyp</code> failed with exit code: 1 gyp ERR! stack at ChildProcess.onCpExit (/usr/lib/node_modules/node-gyp/lib/configure.js:340:16) gyp ERR! stack at ChildProcess.EventEmitter.emit (events.js:98:17) gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:797:12) gyp ERR! System Linux 3.2.0-23-generic-pae gyp ERR! command "node" "/usr/bin/node-gyp" "rebuild" gyp ERR! cwd /vagrant/api gyp ERR! node -v v0.10.26 gyp ERR! node-gyp -v v0.13.0 gyp ERR! not ok

好的,这就是我现在所拥有的。将继续寻找解决方案并在此处更新,如果我发现任何新内容。

在此先感谢您的帮助。哦,请保持温柔 - 我是 Linux 菜鸟。

最佳答案

通过转到 iconv 目录并运行来修复:

node-gyp configure
node-gyp build

关于linux - 找不到模块/build/Debug/iconv.node,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22432144/

相关文章:

sql - SQL * Loader-926 : OCI error while executing delete/truncate ORA-01031: insufficient privileges

linux - 如何在 .sh 中使用相对路径以使我的 tar 文件仅包含创建 tar 的文件夹而不是其完整路径

java - 如何在 Ubuntu 上安装 Intellij IDEA?

linux - linux中的局部变量

linux - "Cat"使用大括号展开成多个文件

node.js - 在 Raspberry Pi 上安装 Google Coder 时出现 NPM 错误

javascript - express js 不提供静态文件

javascript - 有没有办法找到匹配两个不同填充的文档并在 findOne() 中获取他的文档?

c - 在 Linux Ubuntu 系统上,main 函数是由 _libc_start_main 函数调用的吗?

ubuntu - 在 Ubuntu 中将库添加到 Java CLASSPATH