事情的起因是: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将全局路径设在安装目录下。问题得到解决。