一、问题描述
1.直接打开命令提示符,运行cnpm -v的结果如下:
C:\Users\11642>cnpm -v
'cnpm' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
2.以管理员身份运行命令提示符运行cnpm -v的结果如下:
C:\Windows\System32>cnpm -v
cnpm@9.4.0 (D:\Program Files\nodejs\node_modules\node_modules\cnpm\lib\parse_argv.js)
npm@9.9.2 (D:\Program Files\nodejs\node_modules\node_modules\cnpm\node_modules\npm\index.js)
node@20.10.0 (D:\Program Files\nodejs\node.exe)
npminstall@7.12.0 (D:\Program Files\nodejs\node_modules\node_modules\cnpm\node_modules\npminstall\lib\index.js)
prefix=D:\Program Files\nodejs\node_modules
win32 x64 10.0.22631
registry=https://registry.npmmirror.com
二、原因
这是由于环境变量配置不正确导致的。当以管理员身份运行命令提示符时,系统会使用管理员的环境变量,其中包含了 cnpm 的安装路径。但是当你直接打开命令提示符时,系统使用的可能是普通用户的环境变量,其中没有包含 cnpm 的路径。
下载node.js时,把npm的环境变量配好了,但是忽略了之后install的cnpm的路径.
三、解决
可以手动将 cnpm 的安装路径添加到系统的环境变量中,这样无论以何种方式打开命令提示符都可以正常使用 cnpm。
1.找到 cnpm 的安装路径:首先确定 cnpm 的安装路径。通常情况下,全局安装的npm包会被安装在Node.js的安装目录下的node_modules文件夹(这个node_modules文件夹是我们手动创建的,并且手动指定的)中。
2.添加到系统环境变量:这和我们熟知的配环境变量的步骤一致。
3.重新打开命令提示符:关闭所有已经打开的命令提示符窗口,并重新打开一个新的窗口。现在应该能够在不以管理员身份运行命令提示符的情况下正常使用 cnpm 命令了。