npm 有效,然后不适用于 err 'are-we-there-yet'

npm works, then doesn't work with err 'are-we-there-yet'

这个问题显然很常见。但是,我似乎无法解决这个问题 (Ubuntu 14.04)。我试过直接从 nodesource.com 安装。有趣的是 npm --version 实际上在安装后立即运行。但是,它在新终端 window(会话)中失败。为什么我会在新会话中收到以下错误,但在我执行 npm install 的会话中却没有?

*在与安装相同的会话中: npm --version 2.11.3

*在新会话中 npm --version module.js:338 抛出错误: 错误:找不到模块 'are-we-there-yet'

事实证明,在从 nodesource.com 安装 npm 后,我安装了两次 npm。一个新会话是来自 /usr/local/bin 的 运行 npm,另一个会话是来自 /usr/bin 的 运行。我不确定解决这个问题的正确方法;但是,将损坏的 npm 更改为指向新安装路径的符号链接是可行的。我确定正确的解决方案是先删除旧的 npm 安装,然后从 nodesource 重新安装。

cd /usr/local/bin
sudo mv npm npm.broken
sudo ln -s /usr/lib/node_modules/npm/bin/npm-cli.js npm