在 Windows nvm(不是 Linux/Mac 的 nvm)里,安装的 Node.js 某些旧版本(比如 14.x)确实不会自带 npm,需要手动补上。
解决办法有几个:
方法一:让 nvm 自动下载 npm
nvm install 14.21.3
如果提示下载 npm 出错(常见于 GitHub 网络不畅),就需要手动装。
方法二:手动下载 npm 补上
去 npm 官方仓库下载对应版本的压缩包:
👉 https://github.com/npm/cli/releases/tag/v6.14.18 (Node 14.x 默认配的就是npm@6.14.18)解压到:
C:\Users\<你的用户名>\AppData\Roaming\nvm\v14.21.3里面要能看到
node.exe、npm文件夹。确保有
npm.cmd和npx.cmd文件在该版本目录下。
方法三:用 npm 全局安装 npm
先切到 Node 14:
nvm use 14.21.3然后直接装最新 npm:
npm install -g npm@6(如果 npm 命令都不存在,就要先用方法二拷一份 npm 进去)
⚡ 建议:
如果只是开发,直接用 Node 16 或 18 更省事,它们自带 npm,兼容性也比 14 好。
如果必须用 14(比如老项目),那就走 方法二 手动补 npm。
Windows nvm 手动安装 npm 的步骤:
1. 找到 Node 14 的安装目录
nvm 默认装在:
C:\Users\<你的用户名>\AppData\Roaming\nvm
比如你装的 14.21.3,目录大概是:
C:\Users\<你的用户名>\AppData\Roaming\nvm\v14.21.3
进去之后应该能看到:
node.exe
2. 解压 npm
把你下载的 npm-6.14.18.zip 解压。里面应该有:
bin/
lib/
node_modules/
package.json
...
3. 拷贝到 Node 目录
把解压后的文件夹内容 拷贝到:
C:\Users\<你的用户名>\AppData\Roaming\nvm\v14.21.3\node_modules\npm
注意:是
npm文件夹,不是散着丢。路径必须是:
...\v14.21.3\node_modules\npm\bin\npm-cli.js
4. 创建 npm.cmd / npx.cmd
在 v14.21.3 目录下(和 node.exe 同级),新建两个文件:
npm.cmd
@echo off
node "%~dp0\node_modules\npm\bin\npm-cli.js" %*
npx.cmd
@echo off
node "%~dp0\node_modules\npm\bin\npx-cli.js" %*
5. 测试
重新开个终端,切到 Node 14:
nvm use 14.21.3
然后试:
npm -v
应该会输出 6.14.18 🎉