使用另一个节点版本

时间:2017-04-01 15:04:15

标签: node.js npm npm-install

我想安装一些依赖项,在这种情况下安装node-pty。但是当我运行它时,他们会给我这个错误:

  

错误:模块' /home/dev/Documents/project/node_web_kit/node_modules/node-pty/build/Release/pty.node'   是使用不同的Node.js版本编译的   NODE_MODULE_VERSION 46.此版本的Node.js需要   NODE_MODULE_VERSION 51.请尝试重新编译或重新安装

任何解决方案?

6 个答案:

答案 0 :(得分:6)

最简单的方法是删除node_modules并从头开始重新运行npm i,这样就可以为新的Node版本设置所有模块。

答案 1 :(得分:0)

使用以下方法重建node-pty模块:

npm rebuild node-pty --update-binary

答案 2 :(得分:0)

如果以上方法均无效,请尝试手动重建软件包:

cd node_modules/<your module>
node-pre-gyp rebuild

这对我有用

答案 3 :(得分:0)

如果删除node_modules文件夹并重新安装对您不起作用,npm rebuild也不适用,并且您正在使用nvm,则可能有其他问题。我的想法是我的npm config前缀未设置为当前的nvm节点版本。因此,您可以尝试以下方法:

npm config delete prefix
npm config set prefix $NVM_DIR/versions/node/vX.X.X

当然,将vX.X.X替换为您正在使用的nvm安装的节点版本。

答案 4 :(得分:0)

万一有人使用WebStorm迷路了:

WebStorm的终端窗口使用节点的系统设置,但是运行配置可以使用其他版本,因此在终端中进行npm install可能导致此错误。只需在运行配置中更改节点版本,就可以了。

答案 5 :(得分:0)

就我而言,我是第一次从事Meteor项目,却没有意识到meteor npm installnpm install之间存在差异。前者确保使用正确的npm版本安装了正确的软件包,该版本已在您当前的Meteor版本中进行了测试。我的理解是,这在其他框架(例如Electron)中很常见。