Error: Module version mismatch. Expected 47, got 48
Error: Module version mismatch. Expected 47, got 48
我正在编写一个 Visual Studio 代码扩展,它使用本机 node.js 模块。当我尝试在 vscode 中调试此扩展时,我在加载本机模块时从上面收到错误消息(当注释掉 require()
调用时没有出现错误)。它尝试了很多步骤来克服+测试这个:
npm uninstall native-module
后跟 npm install native-module --save-dev
在我的 vscode 扩展文件夹中,这完全编译了本机模块并且没有问题。
- 完全清理了扩展程序中我的 node_modules 文件夹并再次执行了
npm install --save-dev
。
- 再次安装 node.js,包括 LTS 和当前版本。使用 LTS,错误消息更改为:expected 47, got 46.
- 安装最新 vscode (August recovery build)
- 在我的 vscode 扩展文件夹中启动了一个节点会话并加载了我的本机模块。这很好用。
- 阅读此处关于 SO 的各种问题和评论。他们大多推荐我上面描述的内容。
我仍然无法 vscode 接受我的原生模块。我能做什么?从上述步骤看来,vscode 似乎是使用介于当前和 LTS 之间的 node.js 版本构建的。我可以强制我的原生模块以某种方式使用特定版本吗?
顺便说一句。这些数字 48、47、46 等到底是什么意思? node.js 版本当然是典型的形式:major.minor.build 并且与上述版本号没有任何匹配。
更新:
好的,我找到了这些数字的含义:https://nodejs.org/en/download/releases/
一旦您知道错误消息中的这些数字的含义,就很容易解决问题。只需安装预期的 node.js 版本。在我的例子中是 node.js 5.12.0.
删除 node_modules
文件夹
运行 npm update
然后;
运行 npm install
我正在编写一个 Visual Studio 代码扩展,它使用本机 node.js 模块。当我尝试在 vscode 中调试此扩展时,我在加载本机模块时从上面收到错误消息(当注释掉 require()
调用时没有出现错误)。它尝试了很多步骤来克服+测试这个:
npm uninstall native-module
后跟npm install native-module --save-dev
在我的 vscode 扩展文件夹中,这完全编译了本机模块并且没有问题。- 完全清理了扩展程序中我的 node_modules 文件夹并再次执行了
npm install --save-dev
。 - 再次安装 node.js,包括 LTS 和当前版本。使用 LTS,错误消息更改为:expected 47, got 46.
- 安装最新 vscode (August recovery build)
- 在我的 vscode 扩展文件夹中启动了一个节点会话并加载了我的本机模块。这很好用。
- 阅读此处关于 SO 的各种问题和评论。他们大多推荐我上面描述的内容。
我仍然无法 vscode 接受我的原生模块。我能做什么?从上述步骤看来,vscode 似乎是使用介于当前和 LTS 之间的 node.js 版本构建的。我可以强制我的原生模块以某种方式使用特定版本吗?
顺便说一句。这些数字 48、47、46 等到底是什么意思? node.js 版本当然是典型的形式:major.minor.build 并且与上述版本号没有任何匹配。
更新:
好的,我找到了这些数字的含义:https://nodejs.org/en/download/releases/
一旦您知道错误消息中的这些数字的含义,就很容易解决问题。只需安装预期的 node.js 版本。在我的例子中是 node.js 5.12.0.
删除 node_modules
文件夹
运行 npm update
然后;
运行 npm install