"npm update -g" 后错误 "Cannot find module 'npmlog'"
Error "Cannot find module 'npmlog'" after "npm update -g"
我有 NVM 0.30.1 并用它在 Fedora 22 上安装 node.js v5.4.0(带有 NPM 3.5.4)。当我 运行 npm update -g
时,我收到以下警告:
npm WARN EBUNDLEOVERRIDE Replacing bundled npm > init-package-json with new installed version
npm WARN EBUNDLEOVERRIDE Replacing bundled npm > node-gyp with new installed version
npm WARN EBUNDLEOVERRIDE Replacing bundled npm > npm-install-checks with new installed version
npm WARN EBUNDLEOVERRIDE Replacing bundled npm > npmlog with new installed version
npm WARN EBUNDLEOVERRIDE Replacing bundled npm > read-package-json with new installed version
在那之后,当我 运行 npm 我得到这个错误:
module.js:328
throw err;
^
Error: Cannot find module 'npmlog'
at Function.Module._resolveFilename (module.js:326:15)
at Function.Module._load (module.js:277:25)
at Module.require (module.js:354:17)
at require (internal/module.js:12:17)
at /home/peflorencio/.nvm/versions/node/v5.4.0/lib/node_modules/npm/bin/npm-cli.js:20:13
at Object.<anonymous> (/home/peflorencio/.nvm/versions/node/v5.4.0/lib/node_modules/npm/bin/npm-cli.js:76:3)
at Module._compile (module.js:398:26)
at Object.Module._extensions..js (module.js:405:10)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
有人知道这是什么以及如何解决吗?
谢谢
init-package-json、node-gyp、npm-install-checks、npmlog、read-package-json 没有正确安装。不知道为什么。
没有找到问题的根本原因,但我现在使用 hacky 方式安装上面的软件包:
- 回滚到npm 未更新的先前节点版本。例如,
nvm use iojs
cd
到安装 npm 的位置,例如 cd /home/peflorencio/.nvm/versions/node/v5.4.0/lib/node_modules/npm
并重新安装这些软件包,例如 rm -rf node_modules/init-package-json && npm install init-package-json
等
看起来 npm update -g
无法将 npm 更新到最新版本。我通过手动更新 npm 安装解决了这个问题。
- 安装/重新安装节点以获取捆绑的 npm
- 运行
npm install -g npm@3.5.4
更新全局 npm 安装
- 现在
npm update -g
应该可以工作了
感谢您的回答。它是 bug 并且已经在 Node v5.4.1 中得到修复。现在一切正常。
为我解决这个问题的是
sudo rm -rf /usr/local/lib/node_modules/
然后重新安装节点(使用 npm)。
我的 Windows 10 PC 遇到了同样的问题。在研究解决方案之后,因为我找不到我所面临问题的确切解决方案
找不到模块'npmlog'
我刚刚卸载了节点 js,然后删除了 'npm' 和 'npm-cache'
"C:\Users\YourPCName\AppData\Roaming"
然后,我从Node JS Website
下载了最新版本的节点
并且,安装了node js
之后我检查了环境变量中的路径。
最后 运行 命令提示符 'run as administrator' 和 npm install npm -g
检查您的版本将显示最新版本。 'npm -v'
我得到了最新版本 - v3.10.9
试试这个。这应该有效。
如果 linux 的人遇到了这个问题,这里是解决方案:
截至本文 post 发布之日,与 Nodejs 一起打包的 NPM 版本无法运行。如果你安装了这个包,运行
sudo rm -rf /usr/local/bin/npm
sudo apt-get install node
sudo mv /usr/bin/npm /usr/local/bin/npm
新版本应该是 3.10.8,旧错误消失了
有些答案已经回答了问题,但我还是想抛出自己的想法。我被告知 运行 npm update -g npm
在 运行 执行那段代码后,我遇到了同样的问题,错误开始了。我使用 Node Version Manager(nvm
):
解决了我的问题
nvm install 8
注意:实际上不是 8,而是您选择的版本,例如 (6,5)。写入版本号将自动安装指定版本的稳定版。
安装后,您应该会收到一条 CLI 消息:
Now using node v8.11.4 (npm v5.6.0)
如果您使用的是 Mac,请执行以下步骤进行补救(假设您已经安装了 Homebrew):
sudo rm -rf /usr/local/{lib/node{,/.npm,_modules},bin,share/man}/npm*
(克服bash: /usr/local/bin/npm: No such file or directory
错误):
hash -r
然后继续更新 brew(以使其小桶保持最新状态)和重新安装过程,链接是可选的。
brew update
brew reinstall node
brew link --overwrite node
您可以随时使用 npm -v
或 node -v
来测试您是否取得了进步。如果您 node
返回了一个版本,但没有 npm
那么您将需要将您的路径添加到您的环境中:
export PATH="/usr/local/bin:$PATH"
有一个选项可以在不重新安装节点的情况下升级 npm。
#### # this will remove current npm
rm -rf /usr/local/lib/node_modules/npm/
#### # install npm from sources. Version 3.5.x will be installed
apt-get update
apt-get install npm
#### # install the newest npm version. Bumping from 3.5.X to 6.14.X goes without any issue :)
/usr/bin/npm install npm@latest -g
#### # additionally, npm with version 3.5.x is not added to $PATH, so it's not used.
我有 NVM 0.30.1 并用它在 Fedora 22 上安装 node.js v5.4.0(带有 NPM 3.5.4)。当我 运行 npm update -g
时,我收到以下警告:
npm WARN EBUNDLEOVERRIDE Replacing bundled npm > init-package-json with new installed version
npm WARN EBUNDLEOVERRIDE Replacing bundled npm > node-gyp with new installed version
npm WARN EBUNDLEOVERRIDE Replacing bundled npm > npm-install-checks with new installed version
npm WARN EBUNDLEOVERRIDE Replacing bundled npm > npmlog with new installed version
npm WARN EBUNDLEOVERRIDE Replacing bundled npm > read-package-json with new installed version
在那之后,当我 运行 npm 我得到这个错误:
module.js:328
throw err;
^
Error: Cannot find module 'npmlog'
at Function.Module._resolveFilename (module.js:326:15)
at Function.Module._load (module.js:277:25)
at Module.require (module.js:354:17)
at require (internal/module.js:12:17)
at /home/peflorencio/.nvm/versions/node/v5.4.0/lib/node_modules/npm/bin/npm-cli.js:20:13
at Object.<anonymous> (/home/peflorencio/.nvm/versions/node/v5.4.0/lib/node_modules/npm/bin/npm-cli.js:76:3)
at Module._compile (module.js:398:26)
at Object.Module._extensions..js (module.js:405:10)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
有人知道这是什么以及如何解决吗?
谢谢
init-package-json、node-gyp、npm-install-checks、npmlog、read-package-json 没有正确安装。不知道为什么。
没有找到问题的根本原因,但我现在使用 hacky 方式安装上面的软件包:
- 回滚到npm 未更新的先前节点版本。例如,
nvm use iojs
cd
到安装 npm 的位置,例如cd /home/peflorencio/.nvm/versions/node/v5.4.0/lib/node_modules/npm
并重新安装这些软件包,例如rm -rf node_modules/init-package-json && npm install init-package-json
等
看起来 npm update -g
无法将 npm 更新到最新版本。我通过手动更新 npm 安装解决了这个问题。
- 安装/重新安装节点以获取捆绑的 npm
- 运行
npm install -g npm@3.5.4
更新全局 npm 安装 - 现在
npm update -g
应该可以工作了
感谢您的回答。它是 bug 并且已经在 Node v5.4.1 中得到修复。现在一切正常。
为我解决这个问题的是
sudo rm -rf /usr/local/lib/node_modules/
然后重新安装节点(使用 npm)。
我的 Windows 10 PC 遇到了同样的问题。在研究解决方案之后,因为我找不到我所面临问题的确切解决方案 找不到模块'npmlog' 我刚刚卸载了节点 js,然后删除了 'npm' 和 'npm-cache' "C:\Users\YourPCName\AppData\Roaming"
然后,我从Node JS Website
下载了最新版本的节点并且,安装了node js
之后我检查了环境变量中的路径。
最后 运行 命令提示符 'run as administrator' 和 npm install npm -g
检查您的版本将显示最新版本。 'npm -v'
我得到了最新版本 - v3.10.9
试试这个。这应该有效。
如果 linux 的人遇到了这个问题,这里是解决方案:
截至本文 post 发布之日,与 Nodejs 一起打包的 NPM 版本无法运行。如果你安装了这个包,运行
sudo rm -rf /usr/local/bin/npm
sudo apt-get install node
sudo mv /usr/bin/npm /usr/local/bin/npm
新版本应该是 3.10.8,旧错误消失了
有些答案已经回答了问题,但我还是想抛出自己的想法。我被告知 运行 npm update -g npm
在 运行 执行那段代码后,我遇到了同样的问题,错误开始了。我使用 Node Version Manager(nvm
):
nvm install 8
注意:实际上不是 8,而是您选择的版本,例如 (6,5)。写入版本号将自动安装指定版本的稳定版。 安装后,您应该会收到一条 CLI 消息:
Now using node v8.11.4 (npm v5.6.0)
如果您使用的是 Mac,请执行以下步骤进行补救(假设您已经安装了 Homebrew):
sudo rm -rf /usr/local/{lib/node{,/.npm,_modules},bin,share/man}/npm*
(克服bash: /usr/local/bin/npm: No such file or directory
错误):
hash -r
然后继续更新 brew(以使其小桶保持最新状态)和重新安装过程,链接是可选的。
brew update
brew reinstall node
brew link --overwrite node
您可以随时使用 npm -v
或 node -v
来测试您是否取得了进步。如果您 node
返回了一个版本,但没有 npm
那么您将需要将您的路径添加到您的环境中:
export PATH="/usr/local/bin:$PATH"
有一个选项可以在不重新安装节点的情况下升级 npm。
#### # this will remove current npm
rm -rf /usr/local/lib/node_modules/npm/
#### # install npm from sources. Version 3.5.x will be installed
apt-get update
apt-get install npm
#### # install the newest npm version. Bumping from 3.5.X to 6.14.X goes without any issue :)
/usr/bin/npm install npm@latest -g
#### # additionally, npm with version 3.5.x is not added to $PATH, so it's not used.