我想安装一些依赖项,在这种情况下安装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.请尝试重新编译或重新安装
任何解决方案?
答案 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 install
和npm install
之间存在差异。前者确保使用正确的npm
版本安装了正确的软件包,该版本已在您当前的Meteor
版本中进行了测试。我的理解是,这在其他框架(例如Electron)中很常见。