【问题标题】:NodeJS Module "userid" Error: Module version mismatch. Expected 46, got 47NodeJS 模块“userid”错误:模块版本不匹配。预期 46,得到 47
【发布时间】:2016-01-15 10:48:43
【问题描述】:

尝试启动需要模块“userid”的 server.js 时出现以下错误。

  module.js:460
  return process.dlopen(module, path._makeLong(filename));
                 ^

Error: Module version mismatch. Expected 46, got 47.
    at Error (native)
    at Object.Module._extensions..node (module.js:460:18)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:313:12)
    at Module.require (module.js:366:17)
    at require (module.js:385:17)
    at Object.<anonymous> (/root/backend/node_modules/userid/lib/userid.js:2:15)
    at Module._compile (module.js:435:26)
    at Object.Module._extensions..js (module.js:442:10)
    at Module.load (module.js:356:32)

我该如何解决这个问题?

【问题讨论】:

  • 我最近遇到了这个错误并解决了它(至少在我的情况下)。我的似乎最初源于 gRPC 和绑定模块。你在运行什么操作系统?就我而言,我使用的是 Linux(Ubuntu),真正的问题与 NPM 以及 Node(安装了 NVM)和 Nodejs(安装了 Ubuntu 的 APT 存储库)的组合有关。
  • 跟进我自己之前的评论:又遇到了这个问题。我以前使用 NVM 安装 Node,后来使用 apt 安装 nodejs(坏主意)。尝试了很多东西都没有成功,最后清除了node和nodejs的系统;从家里删除了 .nvm 目录。编辑 .bashrc 以从 PATH 中删除 nvm 的节点 bin 的导出,删除整个 /usr/local/lib/node_modules 目录。然后在我的情况下使用this link 为版本 5.x 安装 nodejs。终于用npm升级npm > 3.0
  • 我的是因为 package.json 中没有指定的导入,而是由另一个模块安装的。

标签: node.js module userid


【解决方案1】:

不确定此错误的确切含义,但我的解决方法是删除 node_modules 目录并使用 npm install 重新安装所需的模块。

以上是在使用本地安装模块的节点项目中出现此错误的解决方案。如果有一些全局模块抛出此错误,那么您可能需要重新安装这些模块。

【讨论】:

  • 为我工作。我还必须确保永远不要执行“sudo npm install”
【解决方案2】:

我会尝试升级导致 package.json 问题的模块版本。

【讨论】:

    【解决方案3】:

    此问题的另一个原因是您的系统上安装了多个不同的node 版本,并且您使用nvm 管理它们。如果您运行node index.js 并且如果您运行sudo node index.js 可能会导致运行不同的node 版本。

    因此,如果您使用npm install 安装应用程序模块,然后使用sudo node index.js 运行应用程序,您将遇到模块版本不匹配 错误。在这种情况下,请确保 nvm 使用 sudo node... 运行与您的应用程序期望的相同版本的节点。

    此外,在解决初始问题时,您可能会遇到nvm 此处描述的问题Can't use NVM from root (or sudo)Yoo Matsuo's comment 中描述了此问题的一种可能解决方案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-02
      • 2016-12-09
      • 1970-01-01
      • 1970-01-01
      • 2018-06-11
      相关资源
      最近更新 更多