windows下node配置npm全局路径(踩坑)

时间:2022-05-01 05:01:39

事情的起因是:Koa要求v7.6.0以上的nodejs。

但是window环境下升级node不容易,试过npm install -g n 和n stable等命令无效,而网上推荐的nvm并不支持windows,而nvm for windows 又要求先删除node及相关配置,而且这个用于支持windows的nvm是不完善的。处于规避风险的考虑索性决定删除并重装nodejs。

问题来了,在某网友的教程中,提到修改npm安装的全局路径:

npm config set prefix"D:\Develop\nodejs\node_global"
npm config set cache "D:\Develop\nodejs\node_cache"

右键我的电脑,属性,高级系统设置,高级/环境变量,在 系统变量 新建NODE_PATH,输入D:\Develop\nodejs\node_global\node_modules,

在 用户变量 将Path 修改为 D:\Develop\nodejs\node_global

但我试了下后,发现npm一直报错,说访问安装在C盘的nodejs的node_global;失败几次尝试后将路径修改回appdata,但还是报同样的错误。

几次卸载nodejs,删除npm相关文件夹还是如此。

解决方案

最后发现必须用管理员权限的cmd执行npm操作才有效,因在C盘的Program Files,使用git bash没有权限将文件写入,故而失败。

我的nodejs是默认安装在C盘的Program Files中,听从网友建议将全局路径设在nodejs的安装路径下,而刚好Program Files需要权限读写操作。

正确的方式是将全局路径设定在不需要管理员权限的地方。

所以我再一次重装了nodejs,并用管理员权限的cmd将全局路径设在安装目录下。问题得到解决。