operation not permitted(在用过npm安装模块后再转移npm下载的全局路径和缓存后运行项目报错的解决问题)
在安装完npm后,通过npm下载的全局模块默认安装到了C:\Users\username\AppData\下的Roaming\npm下(当然这是我后来才知道的),当然这很占内存。所以我修改了nodejs全局安装和缓存的路径。
我安装nodejs的路径为:D:\Program Files\nodejs
修改npm全局和缓存路径:
-
首先我在nodejs的安装路径下新建了一个文件夹node_cache,用来存放下载包的缓存。
-
在命令提示符中运行:npm config set cache “D:\Program Files\nodejs\node_cache” ,设置文件缓存位置;运行:npm config set prefix “D:\Program Files\nodejs” 设置全局模块存放路径。
如果运行不了的话,可以用管理员权限运行cmd,再运行以上命令。
以后安装的全局模块都会被放到D:\Program Files\nodejs\node_modules下,跟npm在一个文件夹中。 -
修改D:\Program Files\nodejs\node_modules\npm\npmrc文件,将默认值改为:
prefix=D:\Program Files\nodejs,如果不修改这个文件夹,npm还是以默认路径安装文件,顺便再修改一下环境变量:
-
“环境变量” -> “用户变量”:编辑Administrator的用户变量里的 PATH,找到变量值里面的npm的路径(“C:\Users\username\AppData\Roaming\npm”)改为:“D:\Program Files\nodejs”,如下:
-
“环境变量” -> “系统变量”:新建一个变量名为 “NODE_PATH”, 值为“D:\nodejs\node_global\node_modules”
问题:
修改完成后查看自己的配置:npm config list
OK,事情做完了。我们用vuecli4创建一个项目来看看那吧!
打开webstorm,在一个目录下运行 vue create 项目名
但是,没有想到的是报错了!
这里它说是我的权限不足,但是我之前npm install 模块的时候是没问题的,最后我查资料发现是缓存问题导致的。
解决方法:
删除.npmrc文件
注意这里删除的不是后面修改的npmrc文件,而是之前在c盘中安装过模块的地方
c:\user\username\ .npmrc 删除这个文件 重新运行项目