解决办法‘npm‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。

本文记录了在安装和使用nvm(Node Version Manager)过程中遇到的‘npm’命令不可用的问题,原因是未以管理员权限运行命令行。解决方案是重新以管理员身份安装nvm,并按照步骤设置和使用指定版本的Node.js。通过nvm的命令行工具,成功验证了node和npm的安装,问题得到解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天使用了nvm这个node的保姆级版本管理工具,的确很香。

首先打开官网nvm.uihtm.com/

下载安装过程很顺利,但是验证node及npm是否安装成功时,出现下面错误提示。

C:\Users\Administrator>npm -v

'npm' 不是内部或外部命令,也不是可运行的程序或批处理文件

 

 排查发现node安装目录下只有node_global和node_modules 2个文件夹。

 原因是安装nvm后,没有使用管理员身份运行命令窗口

解决办法:卸载nvm,重新安装,使用管理员身份运行命令提示符应用。

执行以下命令:

nvm

nvm list available 

nvm install  版本号   (安装指定的版本的nodejs)

nvm ls 查看目前已经安装的版本 ( 当前版本号前面没有 * , 此时还没有使用任何一个版本,这时使用 node.js 时会报错 )

nvm user 版本号 使用指定版本的nodejs ( 这时会发现在启用的 node 版本前面有 * 标记,这时就可以使用 node.js )

nvm ls

node -v

npm -v

tip: 可以参考nvm文档手册 - nvm是一个nodejs的版本管理工具查看具体命令说明。

结果: 验证node 、npm安装成功。开森!

 

npm error code EPERM npm error syscall mkdir npm error path D:\ npm error errno -4048 npm error Error: EPERM: operation not permitted, mkdir 'D:\' npm error at async mkdir (node:internal/fs/promises:852:10) npm error at async Arborist.reify (D:\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\reify.js:126:7) npm error at async Install.exec (D:\node_modules\npm\lib\commands\install.js:150:5) npm error at async Npm.exec (D:\node_modules\npm\lib\npm.js:207:9) npm error at async module.exports (D:\node_modules\npm\lib\cli\entry.js:74:5) { npm error errno: -4048, npm error code: 'EPERM', npm error syscall: 'mkdir', npm error path: 'D:\\' npm error } npm error npm error The operation was rejected by your operating system. npm error It's possible that the file was already in use (by a text editor or antivirus), npm error or that you lack permissions to access it. npm error npm error If you believe this might be a permissions issue, please double-check the npm error permissions of the file and its containing directories, or try running npm error the command again as root/Administrator. npm error A complete log of this run can be found in: C:\Users\dell-\AppData\Local\npm-cache\_logs\2025-06-13T08_52_53_073Z-debug-0.log PS D:\桌面\实验报告\前段框架\vue-router-business-site (1)\src> Get-ExecutionPolicy >> RemoteSigned PS D:\桌面\实验报告\前段框架\vue-router-business-site (1)\src> npm install npm error code EPERM npm error syscall mkdir npm error path D:\ npm error errno -4048 npm error Error: EPERM: operation not permitted, mkdir 'D:\' npm error at async mkdir (node:internal/fs/promises:852:10) npm error at async Arborist.reify (D:\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\reify.js:126:7) npm error at async Install.exec (D:\node_modules\npm\lib\commands\install.js:150:5) npm error at async Npm.exec (D:\node_modules\npm\lib\npm.js:207:9) npm error at async
最新发布
06-14
### 解决npm install时出现的EPERM错误 在使用 `npm install` 命令时,如果遇到 `EPERM: operation not permitted, mkdir 'D:\Program Files\nodejs\node_cache\_cacache'` 错误,通常是因为权限问题文件被占用。以下是针对该问题的解决方案: #### 1. 检查文件夹权限 确保当前用户对目标文件夹具有写入权限。可以通过以下步骤检查和修改权限: - 右键点击文件夹 `D:\Program Files\nodejs\node_cache\_cacache`。 - 选择“属性” -> “安全”选项卡。 - 确保当前用户拥有“完全控制”权限[^1]。 #### 2. 更改npm缓存目录 如果无法更改目标文件夹的权限,可以尝试将npm的缓存目录更改为其他位置。通过以下命令实现: ```bash npm config set cache "C:\\Users\\YourUsername\\.npm-cache" --global ``` 上述命令将缓存目录设置为用户目录下的 `.npm-cache` 文件夹。执行后重新运行 `npm install` 命令[^2]。 #### 3. 使用管理员权限运行命令 如果权限不足,可以尝试以管理员身份运行命令提示符终端。右键点击命令提示符图标,选择“以管理员身份运行”,然后再次执行 `npm install` 命令。 #### 4. 检查是否有程序占用文件 有时,文件可能被其他程序(如文本编辑器杀毒软件)占用。关闭所有可能占用文件程序后再尝试运行命令[^1]。 #### 5. 清理npm缓存 清理npm缓存可能会解决一些与缓存相关的错误。使用以下命令清理缓存: ```bash npm cache clean --force ``` 清理完成后,重新运行 `npm install` 命令[^2]。 #### 6. 更新npm版本 确保使用的npm版本是最新的。可以通过以下命令更新npm: ```bash npm install -g npm@latest ``` 更新后,重新尝试安装依赖项。 ### 示例代码 以下是一个完整的流程示例: ```bash # 更改缓存目录 npm config set cache "C:\\Users\\YourUsername\\.npm-cache" --global # 清理缓存 npm cache clean --force # 以管理员身份运行以下命令 npm install ``` ### 注意事项 如果问题仍然存在,可以查看完整的日志文件以获取更多详细信息。日志文件路径通常为: ``` C:\Users\<YourUsername>\AppData\Roaming\npm-cache_logs\<timestamp>-debug.log ```
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值