关于Error:EPERM:operation not permitted,mkdir...的几种解决办法对比
孤城浪人 人气:0问题描述
nodeJs安装好后,下载的插件文件和缓存文件默认保存在C:\Users\admin\AppData\Roaming
路径下,但是我不想这些文件保存在默认路径下,于是我在终端执行这两句,
配置全局安装插件目录
npm config set prefix “D:\JZT\nodejs”
配置缓存的目录
npm config set cache “D:\JZT\nodejs\npm_cache”
将全局安装的插件文件保存在nodeJs安装目录下。然后在C:\Users\JZT
路径下生成了一个.npmrc文件。用记事本打开,内容如下所示,保存的配置信息。
然后,当我想安装淘宝的镜像源cnpm时,报了这个错,意思是:操作不被允许。百度后发现有三种解决办法,我都尝试了一遍,现将三种方法加以比较
1、简单粗暴的删除C:\Users\JZT下配置文件
这种方法很简单,但是删除配置文件后,你以后下载的全局插件文件和缓存文件依然保存在C:\Users\admin\AppData\Roaming
路径下,显然不是我想要的。
2、使用管理员权限打开终端,再下载
虽然这种方法安装成功,而且在nodeJs安装目录下的node_modules中也出现了cnpm文件
但是,当我在终端用cnpm -v
查看下载的cnpm版本时,终端提示我
不是内部或外部命令,也不是可运行的程序 或批处理文件。
这使我想到可能要增加环境变量,但是由于本人太懒QAQ,就没尝试(小声bb:不要学我),果断去找别的方法,还真让我找到了。
3、改变nodeJs安装目录中nodeJs目录的权限
这个错是因为文件夹权限不够,看到这个,我又去看了看我的nodeJs属性,发现这个目录不允许修改,淦,恍然大悟,原来罪魁祸首在这,因为没有权限,所以在执行操作时导致目录打不开,操作失败,将目录权限修改为可修改后,成功查看到cnpm版本。
ps:修改文件权限方法
右键文件夹,点击属性
点击安全,点击编辑
点击完全控制,确定即可。
至此,问题解决。
总结
加载全部内容