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

Posted

技术标签:

【中文标题】错误 此版本的 node/NAN/v8 需要 C++11 编译器【英文标题】:Error This version of node/NAN/v8 requires a C++11 compiler 【发布时间】:2017-03-21 03:19:30 【问题描述】:

我最近将 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 均已安装

我的应用使用的节点模块:

  "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 的解决方案,但无济于事。

我该如何解决这个问题?

【问题讨论】:

【参考方案1】:

终于解决了这个问题,我把解决方案留给遇到同样问题的人。

这就是问题所在,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 应该可以正常运行了。

【讨论】:

Gooooooooooooooooooood!你拯救了我的一天! 绝对传奇 我必须运行以下命令才能完成 gcc 安装:sudo update-alternatives --config gccsudo update-alternatives --config g++

以上是关于错误 此版本的 node/NAN/v8 需要 C++11 编译器的主要内容,如果未能解决你的问题,请参考以下文章

我正在尝试安装 NVIDIA 版本的工具包,但收到类似“...此声明可能没有外部“C”链接”之类的错误消息

Windows IIS注册asp 此操作系统版本不支持此选项 错误解决方法

上传我的应用时出现此错误:上传失败 您需要为您的 APK 使用与版本代码 1 不同的版本代码

gcc 4.7 给我错误信息

mariasql安装错误

我尝试使用 pip 安装 win32gui,但出现此错误。我正在使用 python 3.8.5,我也有最新版本的 pip