找不到使用 NVM 的模块'npmlog'



Node Version Manager (v0.35.3)

我使用多个不同的命令得到以下错误,甚至只是打开我的终端,我得到这个

internal/modules/cjs/loader.js:638
throw err;
^
Error: Cannot find module 'npmlog'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
at Function.Module._load (internal/modules/cjs/loader.js:562:25)
at Module.require (internal/modules/cjs/loader.js:692:17)
at require (internal/modules/cjs/helpers.js:25:18)
at /Users/{user}/.nvm/versions/node/v10.16.2/lib/node_modules/npm/bin/npm-cli.js:22:13
at Object.<anonymous> (/Users/{user}/.nvm/versions/node/v10.16.2/lib/node_modules/npm/bin/npm-cli.js:152:3)
at Module._compile (internal/modules/cjs/loader.js:778:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
nvm is not compatible with the npm config "prefix" option: currently set to ""
Run `npm config delete prefix` or `nvm use --delete-prefix v10.16.2 --silent` to unset it.

运行
npm config delete prefix

返回
env: node: No such file or directory

运行
nvm use --delete-prefix v10.16.2 --silent

返回Cannot find module 'npmlog'错误

nvm current

v10.16.2

运行

echo $PATH

我不再看到nvm路径到npm?

我曾经看到

/Users/{user}/.nvm/versions/node/v10.16.2/bin:

我用的是zsh这是我的.zshrc文件

PATH="$HOME/.npm/bin:$PATH"
PATH="./node_modules/.bin:$PATH"
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && . "$NVM_DIR/bash_completion"
export VS_CODE_DEV_MODE=true
export PATH="$PATH:$HOME/.rvm/bin"

如果我安装一个新版本的node,它可以工作,但是当我关闭终端并重新打开时,我又回到了起点。

nvm ls

返回
v10.16.2
v10.16.3
v14.15.5
default -> 10.16.2 (-> v10.16.2)
node -> stable (-> v14.15.5) (default)
stable -> 14.15 (-> v14.15.5) (default)
iojs -> N/A (default)
unstable -> N/A (default)
lts/* -> lts/fermium (-> v14.15.5)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.23.3 (-> N/A)
lts/erbium -> v12.20.2 (-> N/A)
lts/fermium -> v14.15.5
which node

返回
node not found

which npm

似乎没有针对nvm

/Users/{user}/.npm/bin/npm

运行
nvm deactivate ; nvm debug ; echo $PREFIX ; echo $NPM_CONFIG_PREFIX

返回
Could not find /Users/{user}/.nvm/*/bin in ${PATH}
nvm --version: v0.35.3
$TERM_PROGRAM: vscode
$SHELL: /bin/zsh
$SHLVL: 1
${HOME}: /Users/{user}
${NVM_DIR}: '${HOME}/.nvm'
${PATH}: /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin:./node_modules/.bin:${HOME}/.npm/bin:/Applications/Visual Studio Code.app/Contents/Resources/app/bin:${HOME}/Library/Android/sdk/emulator:${HOME}/Library/Android/sdk/tools:${HOME}/Library/Android/sdk/tools/bin:${HOME}/Library/Android/sdk/platform-tools:${HOME}/.rvm/bin::/Applications/Visual Studio Code.app/Contents/Resources/app/bin:${HOME}/Library/Android/sdk/emulator:${HOME}/Library/Android/sdk/tools:${HOME}/Library/Android/sdk/tools/bin:${HOME}/Library/Android/sdk/platform-tools:${HOME}/.rvm/bin::/Applications/Visual Studio Code.app/Contents/Resources/app/bin:${HOME}/Library/Android/sdk/emulator:${HOME}/Library/Android/sdk/tools:${HOME}/Library/Android/sdk/tools/bin:${HOME}/Library/Android/sdk/platform-tools:${HOME}/.rvm/bin::/Applications/Visual Studio Code.app/Contents/Resources/app/bin:${HOME}/Library/Android/sdk/emulator:${HOME}/Library/Android/sdk/tools:${HOME}/Library/Android/sdk/tools/bin:${HOME}/Library/Android/sdk/platform-tools:${HOME}/.rvm/bin::/Applications/Visual Studio Code.app/Contents/Resources/app/bin:${HOME}/Library/Android/sdk/emulator:${HOME}/Library/Android/sdk/tools:${HOME}/Library/Android/sdk/tools/bin:${HOME}/Library/Android/sdk/platform-tools:${HOME}/.rvm/bin
$PREFIX: ''
${NPM_CONFIG_PREFIX}: ''
$NVM_NODEJS_ORG_MIRROR: ''
$NVM_IOJS_ORG_MIRROR: ''
shell version: 'zsh 5.7.1 (x86_64-apple-darwin19.0)'
uname -a: 'Darwin 19.6.0 Darwin Kernel Version 19.6.0: Thu Jun 18 20:49:00 PDT 2020; root:xnu-6153.141.1~1/RELEASE_X86_64 x86_64'
OS version: Mac 10.15.6 19G2021
curl: /usr/bin/curl, curl 7.64.1 (x86_64-apple-darwin19.0) libcurl/7.64.1 (SecureTransport) LibreSSL/2.8.3 zlib/1.2.11 nghttp2/1.39.2
wget: not found
sed: /usr/bin/sed
cut: /usr/bin/cut
basename: /usr/bin/basename
rm: /bin/rm
mkdir: /bin/mkdir
xargs: /usr/bin/xargs
git: /usr/local/bin/git, git version 2.14.1
ls: grep:: No such file or directory
grep: grep: aliased to grep  --color=auto --exclude-dir={.bzr,CVS,.git,.hg,.svn} (grep --color=auto --exclude-dir={.bzr,CVS,.git,.hg,.svn}), grep (BSD grep) 2.5.1-FreeBSD
awk: /usr/bin/awk, awk version 20070501
nvm current: none
which node: node not found
which iojs: iojs not found
which npm: ${HOME}/.npm/bin/npm
npm config get prefix: env: node: No such file or directory
npm root -g: env: node: No such file or directory

这真是出乎意料。

如果您正在寻找解决问题的方法,那么可能有很多事情需要调查。但是,如果你只是想解决这个问题,重新安装nvm应该是无害和有效的。无需卸载(因为在现有nvm上安装与更新nvm相同)。

根据安装/更新说明,运行以下命令:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash

……或者:

wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash

如果这不能解决问题,在nvm问题跟踪器中有一个长期存在的问题,关于人们为解决macOS上的奇怪问题所做的事情。不过,您可能已经看到了,因为我看到您为此在跟踪器中打开了一个问题。

还有一个关于macOS上nvmzsh的问题,如果你仍然卡住了,可能值得仔细阅读。但是,如果我快速浏览它是正确的,它表明相关问题在nvm@0.37.0中得到解决,并且您正在运行nvm@0.35.3,因此更新似乎是要尝试的事情。

最新更新