node.js - 错误此版本的 Node/NAN/v8 需要 C++11 编译器

标签 node.js ubuntu

我最近将 Nodejs 从 0.13 升级到 6.9,在运行我的 nodejs 应用程序时开始出现一些错误,我四处搜索,设法修复了一些错误并出现了新错误,我最终删除了 node_modules 我的应用程序的文件夹,清除 npm 的缓存并再次运行 npm 安装,这就是我卡住的地方,你可以在这个 pastebin 中看到完整的输出。 .

更多详情:

  • Ubuntu 12.04
  • Nodejs v6.9.1(node --versionnodejs --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/

相关文章:

node.js - AES256 CBC 的 Node.js 实现存在问题

javascript - 在 for 循环内执行查询

ubuntu - 在 Ubuntu 上卸载 Flink

ubuntu - 在 Xubuntu 启动时在终端中运行命令

php - nginx 502 网关错误

node.js - 所有字段搜索

javascript - node.js 将数组传递给 mysql 回调

node.js - Mongoose 按子值排序

ubuntu - 尝试安装 Edx 时出现 Ansible 代理错误

django - 为 django 开发环境配置端口,使站点可以从外部访问