使用 nvm-windows 时更新 npm

     2023-02-16     53

关键词:

【中文标题】使用 nvm-windows 时更新 npm【英文标题】:Updating npm when using nvm-windows 【发布时间】:2019-07-06 05:39:11 【问题描述】:

我使用的是 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.

我没有办法避免这种情况。

【问题讨论】:

也许 Volta 是我们正在寻找的工具?检查volta.sh 【参考方案1】:

nvm-windows github 存储库上的此问题中提供了几种解决方法:

https://github.com/coreybutler/nvm-windows/issues/300

有使用 DOS、PowerShell、bash 和批处理脚本的示例。

【讨论】:

谢谢! gist.github.com/johnmcase/d31b799b9030327091a0e74880e4c530 的批处理脚本对我来说效果很好。 在我的批处理脚本版本中,我现在在对 npm 的调用中添加了 `--force` 选项以避免出现更新错误:node "!node_path!\node_modules\npm2\bin\npm-cli.js" i npm@!wanted_version! -g --force github.com/coreybutler/nvm-windows/issues/… 这也对我有用。【参考方案2】:

这是我的回答的副本:https://***.com/a/50955293/491553

这是我在运行 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

并且繁荣,升级。

【讨论】:

要找到你的 nvm 安装路径,你可以从 powershell 运行 get-command nvm。 我已经使用这个命令升级到特定版本node npm-cli.js i -g npm@x.y.z 我认为我们必须在最后一个命令中使用 --force 。顺便说一句,谢谢你的回答。 上面的那些mv 命令是针对powershell 的,但是你不能在PowerShell 中使用%appdata% 语法,所以使用$ENV:AppData 代替它。原来我的choco install -y nvm 将 nvm 放入了C:\ProgramData\nvm,所以我不得不使用cd $ENV:ProgramData\nvm\v14.17.1。是的,我必须添加强制标志node npm-cli.js i -g npm@latest --force 如果目录中有npx,那么即使它也必须重命名。就我而言,我也将其重命名。 mv npx npx-oldmv npx.cmd npx-old.cm【参考方案3】:

我有 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

【讨论】:

【参考方案4】:

我还发现有必要将windows-nvm 安装到c:\nvmc:\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

【讨论】:

【参考方案5】:

我不得不强迫它:-/

到时候

node npm-cli.js i -g npm@latest

我宁愿使用

node npm-cli.js i -g npm@latest --force

可能是为了克服覆盖“C:\Program Files\nodejs”链接所涉及的权限错误。

【讨论】:

同上 - 不得不强迫它,但它奏效了。很高兴有人先尝试了这个? 仅供参考,--force 对我不起作用,而是让 npm 处于“损坏”状态,它已删除旧安装但无法安装新安装。我通过创建一个新文件夹来修复它,运行yarn init,然后运行yarn add npm,然后我将其npm 文件夹的内容复制到(现在基本上是空的)...../nvm/XXX/node_modules/npm 文件夹中,然后运行:node ((Get-Item "C:\Program Files\nodejs").Target[0] + "\node_modules\npm\bin\npm-cli.js").ToString() i -g npm@latest跨度> 【参考方案6】:
    下载这个updateNpm.bat文件 在同一个文件夹中打开powershell并运行这个命令updateNpm.bat latest

【讨论】:

哦,哇,经过这么多完美的尝试!谢谢你【参考方案7】:

这对我有用:

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

如果您已经安装了 git bash,请在那里使用它。

【讨论】:

这个问题有 windows 作为标签,文本也很清楚地说明了这一事实,下载 shellscript 不会做任何事情。 @Timotheus 确实如此......它会首先卸载当前版本的 npm,然后安装最新版本。它对我有用.... 在 powershell 和 cmd 中我得到了一个'sh' is not recognised... 如果您安装了 git bash,请尝试一下【参考方案8】:

对我来说,只有在使用 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

【讨论】:

【参考方案9】:

我今天遇到了这个问题,我解决它的方法是使用 nvm 安装最新的节点,然后将 npm 文件从最新版本复制到我正在使用的版本。

nvm install latest
cd AppData/Roaming/nvm/LATEST
xcopy npm.cmd ../LTS && xcopy npm ../LTS && xcopy node_modules/npm ../LTS

然后我通过尝试编译我的最新代码来确认它可以正常工作。

【讨论】:

【参考方案10】:

我尝试了脚本和其他解决方案,这是迄今为止最简单的方法:

    导航到相关的节点文件夹 (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 文件,所以你可以删除之前重命名的文件

【讨论】:

对于第 1 步,此 Powershell 命令将在正确的文件夹中启动资源管理器窗口:start ((Get-Item "C:\Program Files\nodejs").Target[0])

使用 Nodist 更新 NPM

】使用Nodist更新NPM【英文标题】:UpdatingNPMwithNodist【发布时间】:2017-01-1122:33:24【问题描述】:我无法更新npm,并让它与Nodist一起使用。每当我尝试使用命令更新npm时npminstall-gnpm执行后立即出现以下消息:(node:5304)fs:不支持重... 查看详情

npm 错误!错误:尝试更新 npm 时连接 ECONNREFUSED

...【发布时间】:2017-07-1107:34:06【问题描述】:我正在尝试使用以下命令更新npm(节点包管理器):npminstallnpm@latest-g但我在命令提示符中收到以下错误:npmERR!Windows_NT6.1.7601npmER 查看详情

windows下使用nvm-windows做nodejs版本管理

...后卸载也是大丈夫的): 在https://github.com/coreybutler/nvm-windows/releases下载相应setup然后可以在cmd.exe敲以下命令查看版本 查看详情

当我尝试使用 --depth 21 更新包时,NPM 崩溃

】当我尝试使用--depth21更新包时,NPM崩溃【英文标题】:NPMcrasheswhenItrytoupdateapackagewith--depth21【发布时间】:2020-07-2300:54:18【问题描述】:我正在尝试修复我的项目中的npm漏洞。在尝试npmaudit时,我得到了一个命令来修复其中一... 查看详情

自己编译nvm-window,解决无法修改镜像下载node很慢的问题!

今天被nvm-windows坑惨了... 众所周知天朝用nvm初装新版node的时候,由于不能直接用淘宝npm镜像,所以第一次装会慢成狗,而最近装node本身也慢成狗了...于是我想试试把nvm的node镜像和npm镜像都改到淘宝然而....网上找的set"NVM_NODEJS_ORG... 查看详情

无法更新 npm?

...误一直发生在我身上。我以前在Windows命令提示符中一直使用它,但在LinuxBash中没有npmi-gnpmSpecifyconfigsintheini-formattedfile:/root/.npmrcoronthecommandlinevia:npm<co 查看详情

无法更新 npm?

...误一直发生在我身上。我以前在Windows命令提示符中一直使用它,但在LinuxBash中没有npmi-gnpmSpecifyconfigsintheini-formattedfile:/root/.npmrcoronthecommandlinevia:npm<co 查看详情

npm global 没有被使用?

】npmglobal没有被使用?【英文标题】:Npmglobalnotbeingused?【发布时间】:2018-11-0420:14:57【问题描述】:所以我之前遇到了一些npm问题,并按照一些***/github问题命令尝试修复它们。哪个有效...有点。直到最近,当我意识到我的全局n... 查看详情

更新 Node 和 NPM VS Cordova 更新 5

...【问题描述】:我刚刚下载了VSApacheCordovaToolsUpdate5,但在使用Node和NPM时遇到了问题。我正在使用默认的空白cordova项目进行测试。版本如果我在我的VS项目中对Node和NPM运行gulp检查,我会得到:Nodeversi 查看详情

nodejs的安装配置(nvm-windows)

前言  此博文记录自己的学习过程,方便自己日后的查阅回顾。1.什么是nvm?nvm带来了什么方便之处?  nvm:nodeversionmanager,它是一款node版本管理工具。  不同版本的node提供的API可能有所不同,有些上线项目使用低版本no... 查看详情

使用 npm 命令时找不到模块“npmlog”错误消息

】使用npm命令时找不到模块“npmlog”错误消息【英文标题】:Cannotfindmodule\'npmlog\'errormessagewhenusingnpmcommand【发布时间】:2016-03-0418:57:15【问题描述】:今天是我第一份工作的第一天,通过在我的Mac(OSX)上更新node和npm设置我的开发... 查看详情

npm install 并在 node-gyp 重建时失败,使用 ``gyp: No Xcode or CLT version detected!``` 由新的 macos catalina 更新引起

】npminstall并在node-gyp重建时失败,使用``gyp:NoXcodeorCLTversiondetected!```由新的macoscatalina更新引起【英文标题】:npminstallandfailsonnode-gyprebuildwith```gyp:NoXcodeorCLTversiondetected!```causedbynewmacoscatalinaupdate【发布时间】:2021-02-1307: 查看详情

nvm-windows安装后,node命令报错

下载地址:https://github.com/coreybutler/nvm-windows/releases我是点下面这个直接安装的:配置文件,我都是习惯在软件目录下建个files文件夹,然后全部放里面:装完后,敲nvm,似乎正常,出现一堆命令,但是敲npm/node反而报错不行了,... 查看详情

为啥在运行 npm update 时不是所有节点包都更新到最新版本?

】为啥在运行npmupdate时不是所有节点包都更新到最新版本?【英文标题】:Whyaren\'tallnodepackagesupdatedtothelatestversionwhenrunningnpmupdate?为什么在运行npmupdate时不是所有节点包都更新到最新版本?【发布时间】:2019-07-2900:27:44【问题描... 查看详情

如何使用 NPM 更新开发依赖项?

】如何使用NPM更新开发依赖项?【英文标题】:HowdoIupdatedevelopmentdependencieswithNPM?【发布时间】:2014-09-2603:13:54【问题描述】:这是我package.json的一部分:..."devDependencies":"gulp":"~3.8",...,...我正在运行以下命令:gulp--versionCLIversion3.8... 查看详情

npminstall问题解决(nvm安装与使用)(代码片段)

...:node版本我们首先进入githubhttps://github.com/coreybutler/nvm-windows/releases下载:nvm-setup.zip后面一直傻瓜式next即可配置打开我们的安装目录settings.txt:文件内容修改node_mirror:https://npm.taobao.org/mirrors/node/npm_mirror:https://npm.taobao.... 查看详情

npm - Semver 版本控制 - 使用插入符号“^”更新包

】npm-Semver版本控制-使用插入符号“^”更新包【英文标题】:npm-Semverversioning-Updatingapackagewithacaret"^"【发布时间】:2018-08-2213:42:45【问题描述】:我的package.json文件中有一个npm包"clean-webpack-plugin":"^0.1.18"现在,当我将鼠标... 查看详情

无法使用 NPM 更新到最新的打字稿

】无法使用NPM更新到最新的打字稿【英文标题】:CannotupdatetolatesttypescriptusingNPM【发布时间】:2022-01-2106:46:14【问题描述】:我的package.json的Typescript设置如下:"redux-persist":"^6.0.0","redux-saga":"^1.1.3","typescript":"^3.9.10",如果我尝试使... 查看详情