使用 nvm-windows 时更新 npm
Updating npm when using nvm-windows
我正在使用 nvm-windows 版本 1.1.7.
我刚刚安装了节点 11.9.0。
nvm 与此节点版本一起安装 npm 版本 6.5.0。
但是,已经有 npm 版本 6.7.0 可用。
当我现在做 npm i -g npm
我得到:
npm ERR! path C:\Program Files\nodejs\npm.cmd
npm ERR! code EEXIST
npm ERR! Refusing to delete C:\Program Files\nodejs\npm.cmd: is outside C:\Program Files\nodejs\node_modules\npm and not a link
npm ERR! File exists: C:\Program Files\nodejs\npm.cmd
npm ERR! Move it away, and try again.
我找不到避免这种情况的方法。
此问题在 nvm-windows
github 存储库中提供了多种解决方法:
https://github.com/coreybutler/nvm-windows/issues/300
有使用 DOS、PowerShell、bash 和批处理脚本的示例。
这是我在这里的回答的重复:
以下是我在 运行 nvm-windows:
时如何升级 npm
cd %APPDATA%\nvm\v8.10.0 # or whatever version you're using
move npm npm-old
move npm.cmd npm-old.cmd
cd node_modules\
move npm npm-old
cd npm-old\bin
node npm-cli.js i -g npm@latest
繁荣,升级。
我有 windows 10 个操作系统。
我是按照下面的方式安装的
cd %APPDATA%\nvm\v8.11.3
move npm 5.6.0
move npm.cmd 5.6.0.cmd
cd node_modules\
move npm 5.6.0
cd 5.6.0\bin
node npm-cli.js i -g npm@latest
我还发现有必要将 windows-nvm
安装到 c:\nvm
和 c:\nodejs
以防止出现不支持的带空格的路径问题。
rm C:\nodejs\npm*
rm C:\nodejs\npx*
mv C:\nodejs\node_modules\npm C:\nodejs\node_modules\npm-old
node C:\nodejs\node_modules\npm-old\bin\npm-cli.js i -g npm@next
我不得不强迫它:-/
当谈到
node npm-cli.js i -g npm@latest
我宁愿不得不使用
node npm-cli.js i -g npm@latest --force
可能是为了克服覆盖“C:\Program Files\nodejs”时涉及的权限错误link。
- 下载此 updateNpm.bat 文件
- 在同一文件夹中打开 powershell 并 运行 此命令
updateNpm.bat latest
这对我有用:
curl -L https://npmjs.org/install.sh | sh
如果您已经安装了 git bash,请在那里使用它。
对我来说,我只在使用 npm v6 更新 npm 时遇到问题。
因此,通过 npx 使用较新版本的 npm 运行 升级对我有效。
For the very newest version
npx npm install -g npm
Or use a specific version
npx npm@7 install -g npm@7
我今天遇到了这个问题,我解决它的方法是使用 nvm 安装最新节点,然后将 npm 文件从最新版本复制到我正在使用的版本。
nvm install latest
cd AppData/Roaming/nvm/LATEST
xcopy npm.cmd ../LTS && xcopy npm ../LTS && xcopy node_modules/npm ../LTS
然后我通过尝试编译我的最新代码来确认它可以正常工作。
我尝试了脚本和其他解决方案,这是迄今为止最简单的方法:
- 导航到相关的节点文件夹(
cd C:\Users\yourUser\AppData\Roaming\nvm\vxx.xx.x
)
- 重命名 npm -> npm2
- 重命名 npm.cmd -> npm2.cmd
- 重命名 npx -> npx2
- 重命名 npx.cmd -> npx2.cmd
- 运行
npm2 install -g npm@your-version
- 新的 npm 将创建 npm、npm.cmd、npx、npx.cmd 文件,因此您可以删除以前重命名的文件
我正在使用 nvm-windows 版本 1.1.7.
我刚刚安装了节点 11.9.0。
nvm 与此节点版本一起安装 npm 版本 6.5.0。 但是,已经有 npm 版本 6.7.0 可用。
当我现在做 npm i -g npm
我得到:
npm ERR! path C:\Program Files\nodejs\npm.cmd
npm ERR! code EEXIST
npm ERR! Refusing to delete C:\Program Files\nodejs\npm.cmd: is outside C:\Program Files\nodejs\node_modules\npm and not a link
npm ERR! File exists: C:\Program Files\nodejs\npm.cmd
npm ERR! Move it away, and try again.
我找不到避免这种情况的方法。
此问题在 nvm-windows
github 存储库中提供了多种解决方法:
https://github.com/coreybutler/nvm-windows/issues/300
有使用 DOS、PowerShell、bash 和批处理脚本的示例。
这是我在这里的回答的重复:
以下是我在 运行 nvm-windows:
时如何升级 npmcd %APPDATA%\nvm\v8.10.0 # or whatever version you're using
move npm npm-old
move npm.cmd npm-old.cmd
cd node_modules\
move npm npm-old
cd npm-old\bin
node npm-cli.js i -g npm@latest
繁荣,升级。
我有 windows 10 个操作系统。
我是按照下面的方式安装的
cd %APPDATA%\nvm\v8.11.3
move npm 5.6.0
move npm.cmd 5.6.0.cmd
cd node_modules\
move npm 5.6.0
cd 5.6.0\bin
node npm-cli.js i -g npm@latest
我还发现有必要将 windows-nvm
安装到 c:\nvm
和 c:\nodejs
以防止出现不支持的带空格的路径问题。
rm C:\nodejs\npm*
rm C:\nodejs\npx*
mv C:\nodejs\node_modules\npm C:\nodejs\node_modules\npm-old
node C:\nodejs\node_modules\npm-old\bin\npm-cli.js i -g npm@next
我不得不强迫它:-/
当谈到
node npm-cli.js i -g npm@latest
我宁愿不得不使用
node npm-cli.js i -g npm@latest --force
可能是为了克服覆盖“C:\Program Files\nodejs”时涉及的权限错误link。
- 下载此 updateNpm.bat 文件
- 在同一文件夹中打开 powershell 并 运行 此命令
updateNpm.bat latest
这对我有用:
curl -L https://npmjs.org/install.sh | sh
如果您已经安装了 git bash,请在那里使用它。
对我来说,我只在使用 npm v6 更新 npm 时遇到问题。
因此,通过 npx 使用较新版本的 npm 运行 升级对我有效。
For the very newest version
npx npm install -g npm
Or use a specific version
npx npm@7 install -g npm@7
我今天遇到了这个问题,我解决它的方法是使用 nvm 安装最新节点,然后将 npm 文件从最新版本复制到我正在使用的版本。
nvm install latest
cd AppData/Roaming/nvm/LATEST
xcopy npm.cmd ../LTS && xcopy npm ../LTS && xcopy node_modules/npm ../LTS
然后我通过尝试编译我的最新代码来确认它可以正常工作。
我尝试了脚本和其他解决方案,这是迄今为止最简单的方法:
- 导航到相关的节点文件夹(
cd C:\Users\yourUser\AppData\Roaming\nvm\vxx.xx.x
) - 重命名 npm -> npm2
- 重命名 npm.cmd -> npm2.cmd
- 重命名 npx -> npx2
- 重命名 npx.cmd -> npx2.cmd
- 运行
npm2 install -g npm@your-version
- 新的 npm 将创建 npm、npm.cmd、npx、npx.cmd 文件,因此您可以删除以前重命名的文件