【问题标题】:How can I fix things to resume work from a much earlier version of Node.js?如何修复问题以从更早版本的 Node.js 恢复工作?
【发布时间】:2016-05-28 11:01:21
【问题描述】:

我刚刚将 (/usr/local/bin/) 节点升级到 5.6.0,由 nodejs.org 的 .pkg 包安装,我正在尝试移植一个较旧的项目以使用当前的节点。

我预计需要从我的代码中纠正多个问题,但目前(可能已过时)调用在不是我自己的代码上出错。我最好的猜测是我得到了两个 Node 安装的不兼容混合;如果是这样,完全卸载两个版本然后安装 5.6.0 的最佳方法是什么?

我看到的错误信息是:

内殿 ~/archive/pragmatometer $ /usr/local/bin/node bin/www
模块.js:440
  return process.dlopen(module, path._makeLong(filename));
                 ^

错误:模块版本不匹配。预期47,得到44。
    在错误(本机)
    在 Object.Module._extensions..node (module.js:440:18)
    在 Module.load (module.js:357:32)
    在 Function.Module._load (module.js:314:12)
    在 Module.require (module.js:367:17)
    在要求(内部/module.js:16:19)
    在对象。 (/Users/christos/archive/pragmatometer/node_modules/scrypt/index.js:3:20)
    在 Module._compile (module.js:413:34)
    在 Object.Module._extensions..js (module.js:422:10)
    在 Module.load (module.js:357:32)

我可以/应该做些什么来解决这个问题并继续移植我的代码的下一步?

谢谢,

【问题讨论】:

    标签: node.js migration


    【解决方案1】:

    编辑:根据我读过的其他问题,node_modules 文件夹中脚本内的 VERSION_STRING 常量似乎存在问题。尝试删除整个 node_modules 文件夹并使用当前安装的新节点版本运行 npm install 以获得全新的模块安装。

    我还建议查看n,这是一个非常小的节点版本管理器,可以帮助您在不同版本的节点之间切换。

    【讨论】:

    • 谢谢;我刚刚尝试过,并从/usr/local/bin/node bin/www 获得了相同的输出/行为。
    猜你喜欢
    • 2012-04-19
    • 1970-01-01
    • 1970-01-01
    • 2023-01-09
    • 1970-01-01
    • 1970-01-01
    • 2023-01-26
    • 2014-09-29
    相关资源
    最近更新 更多