错误:模块版本不匹配。预计47,得到48

时间:2016-09-10 14:48:04

标签: node.js visual-studio-code vscode-extensions

我正在编写一个使用本机node.js模块的Visual Studio代码扩展。当我尝试在vscode中调试此扩展时,我从上面收到错误消息,当加载本机模块时(注释掉require()调用时没有出现错误)。它尝试了很多步骤来克服+测试它:

  • npm uninstall native-module后跟我的vscode扩展文件夹中的npm install native-module --save-dev,这完全编译了本机模块,没有任何问题。
  • 彻底清除了扩展程序中的node_modules文件夹,并再次执行了npm install --save-dev
  • 再次安装node.js,包括LTS和current。使用LTS时,错误消息将更改为:预期47,得到46。
  • 已安装最新的vscode(August recovery build
  • 在我的vscode扩展文件夹中启动了一个节点会话并加载了我的本机模块。这很好用。
  • 在此处阅读各种问题和评论。他们大多推荐我上面描述的内容。

但是,我无法让vscode接受我的原生模块。我能做什么?从上面的步骤看,似乎vscode是使用当前和LTS之间的node.js版本构建的。我可以以某种方式强制我的本机模块使用特定版本吗?

顺便说一下。这些数字48,47,46等实际意味着什么? node.js版本当然是典型的形式:major.minor.build,其中没有任何内容与上述版本号匹配。

更新

好的,我发现了这些数字的含义:https://nodejs.org/en/download/releases/

2 个答案:

答案 0 :(得分:2)

一旦你知道错误信息中的这些数字意味着解决问题很容易。只需安装预期的node.js版本。就我而言,它是node.js 5.12.0

答案 1 :(得分:2)

删除node_modules文件夹

运行npm update

然后;

运行npm install