【问题标题】:n module breaks npmn 模块中断 npm
【发布时间】:2013-05-24 10:16:49
【问题描述】:

在我使用 n 模块 - https://github.com/visionmedia/n/ 从一个 node.js 版本切换到另一个版本后,我的 npm 坏了...

MacBook-Pro-Dmitri:~ dmitri$ npm --version

module.js:340
    throw err;
          ^
Error: Cannot find module 'npmlog'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:362:17)
    at require (module.js:378:17)
    at /usr/local/bin/npm:19:11
    at Object.<anonymous> (/usr/local/bin/npm:87:3)
    at Module._compile (module.js:449:26)
    at Object.Module._extensions..js (module.js:467:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)

然后我按照这里的建议再次安装 npm - https://github.com/visionmedia/n/issues/101

curl https://npmjs.org/install.sh | sh

npm 开始工作..

但是我又为节点版本做了另一个切换:

n 0.8.22

现在 npm 再次出现同样的错误。

很烦人..每次版本切换后都需要手动安装npm吗?!

【问题讨论】:

标签: javascript node.js versioning npm


【解决方案1】:

不同版本是否有不同的全局包存储库?

也许需要全局重新安装该软件包 sudo npm install -g 或在切换版本后清理 sudo npm cache clean 的软件包管理缓存。

【讨论】:

    【解决方案2】:

    如果您像我一样经常更换版本,那么这些天 Node 和 npm 应该捆绑在一起了。您可以尝试使用 NVM 安装节点

    https://github.com/creationix/nvm

    这将帮助您区分不同节点版本中的包。只需在切换后执行 npm install 即可。

    PS:当前节点版本目前相当稳定。您可以只使用当前版本而不是 0.8.22

    【讨论】:

      【解决方案3】:

      您可以尝试手动安装 npmlog:npm install -g npmlog

      【讨论】:

        【解决方案4】:

        我遇到了同样的问题,但找不到解决方案。

        似乎n 的维护不如nvm 好,所以我完全删除了these steps 之后的节点并使用nvm 重新安装。

        (并且节点现在包括 npm)

        【讨论】:

          【解决方案5】:

          我在 Windows 上遇到了同样的问题。我卸载了节点,从其安装目录中删除了所有内容并重新安装。重新启动命令行后,我又让 npm 工作了。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2015-09-12
            • 2012-07-06
            • 2017-07-24
            • 2021-04-12
            • 1970-01-01
            • 2014-08-24
            • 2013-03-20
            相关资源
            最近更新 更多