我最近将 Nodejs 从 0.13 升级到 6.9,在运行我的 nodejs 应用程序时开始出现一些错误,我四处搜索,设法修复了一些错误并出现了新错误,我最终删除了 node_modules
我的应用程序的文件夹,清除 npm 的缓存并再次运行 npm 安装,这就是我卡住的地方,你可以在这个 pastebin 中看到完整的输出。 .
更多详情:
- Ubuntu 12.04
- Nodejs v6.9.1(
node --version
和nodejs --version
返回相同) - node-gyp、clang、gcc、make 和 build-essential 都已安装
我的应用使用的 Node 模块:
"dependencies": {
"socket.io": "~1.2.1",
"kurento-client": "Kurento/kurento-client-js",
"mongoose": "~3.8.23",
"dateformat": "~1.0.11",
"underscore": "~1.8.3"
}
我一直在尝试来自 here 的解决方案无济于事。
我该如何解决这个问题?
最佳答案
终于解决了这个问题,我会把解决方案留给遇到同样问题的人。
这就是问题所在,Unbuntu 12.04 只有 gcc
官方存储库中有 4.6.3,但 C++11 仅受 4.8.1 支持,因此您需要从不同的 PPA 安装 4.8:
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.8
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50
现在这本身并没有解决问题,因为看起来 node-gyp
使用 g++
而不是 gcc
所以对g++
做同样的事情:
sudo apt-get install g++-4.8
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 50
之后sudo npm install
应该可以正常运行。
关于node.js - 错误此版本的 Node/NAN/v8 需要 C++11 编译器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40470973/