解决 npm intasll 安装报错 Error: EPERM: operation not permitted

news2024/11/16 23:19:45

Node.js安装及环境配置完成之后 npm install express -g 安装全局的模块报错提示没有权限operation not permitted mkdir 错误编号4048:

其原因是当前用户操作该目录权限不足,当以管理员身份运行cmd,再执行npm install express -g 是不会报权限不足的错误的。 

解决办法有三种方法:
方法一:重新配置环境变量 将npm安装的全局模块所在的路径,以及缓存cache的路径放在其他目录中别放Node.js的默认安装目录(“C:\Program Files\nodejs”)中。

具体操作如下:

1、选择其他盘符如D盘或者是E盘目录下创建NodeDevelop文件夹,再在【NodeDevelop】下分别创建【node_cache】和【node_global】两个文件夹用于对应全模块所在路径和缓存路径。例如我创建的两个文件夹实在【D:\Program Files\NodeDevelop】目录下如下图所示:

 2、创建完两个空文件夹【node_cache】和【node_global】之后,打开cmd命令窗口,输入如下命令,如图所示

npm config set prefix "D:\Program Files\NodeDevelop\node_global"
npm config set cache "D:\Program Files\NodeDevelop\node_cache"

npm config set prefix "D:\Program Files\NodeDevelop\node_global"
 
npm config set cache "D:\Program Files\NodeDevelop\node_cache"

3、接下来设置环境变量,关闭cmd窗口,“我的电脑”-右键-“属性”-“高级系统设置”-“环境变量”

4、进入环境变量对话框,在【系统变量】下新建【NODE_PATH】,输入【D:\Program Files\NodeDevelop\node_global\node_modules】,将【用户变量】下的【Path】修改为【D:\Program Files\NodeDevelop\node_global】 ;注意如果【node_global】文件夹下没有【node_modules】新建一个文件夹命名为node_modules即可。

 5、重新配置完成环境变量之后关闭配置,打开打开cmd窗口,输入如下命令进行模块的全局安装,测试一下即可。

npm install express -g    # -g是全局安装的意思

方法二:删除.npmrc文件

如果安装Node.js时使用的是默认安装路径(“C:\Program Files\nodejs”)安装完成之后会在C盘的目录下生成一.npmrc文件文件,该文件在:C:\Users{账户}\下的.npmrc文件。一般这种类型的文件都是默认被隐藏,Window10查看隐藏文件的方法如下:

 查找.npmrc文件的方法:

删除后测试一下即可。

方法三:更改默认安装路径【C:\Program Files\nodejs】下,我们自己创建的【node_cache】和【node_global】两个文件夹的操作权限,具体操作如下所示:

选择【node_cache】点击鼠标右键选择属性,打开其属性对话框,切换到”安全“项,点击编辑按钮,打开【node_cache】的权限对话框,选中Users将Users的权限下的“完全控制”和“修改”两项勾选上(默认是不勾选的),点击确定即可。

 【node_global】的操作权限参照【node_cache】修改一下即可。修改完成之后打开cmd窗口,进行测试。

还有一种最简单直接的办法就是:将安装在默认路径【C:\Program Files\nodejs】下的Node.js卸载掉重新安装,重新安装Node.js时将默认的安装路径目录【C:\Program Files\nodejs】修改成其他的安装目录如【D:\Program Files\nodejs】安装完成之后,再在【D:\Program Files\nodejs】下创建完两个空文件夹【node_cache】和【node_global】然后进行环境变量的配置。

本次分享到此结束,感谢大家的阅读!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1882809.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JELR-G150F可调漏电继电器 面板安装 30~300mA 约瑟JOSEF

一、应用 JELR系列漏电继电器(以下简称继电器)适用于交流电压为660V.至1140V电压系统中,频率为50Hz,电流15~4000A线路中做有无中性点漏电保护. 该继电器可与带分励脱扣器或失压脱扣器的断路器、交流接触器、磁力启动器等组成漏电保护装置,作…

Vue3 登录成功,浏览器存在toke,再次访问/login路由到/index 首页页面

文章目录 目录 文章目录 流程 小结 概要流程技术细节小结 概要 首先需要清楚知道浏览器localstorage和Session storage的区别 localStorage 和 sessionStorage 是 HTML5 提供的两种客户端存储数据的方法,它们在使用和生命周期上有一些区别: 1. 生命周期…

视频共享交换平台LntonCVS视频融合共享平台搭建智慧园区视频监控平台应用方案

智慧园区作为现代化城市发展的重要组成部分,不仅承载着产业升级的使命,更是智慧城市建设的重要体现。随着产业园区竞争的激烈化,越来越多的关注点集中在如何打造完善的智慧园区上。 在智慧园区规划的初期阶段,面临诸多挑战。如何选…

刷代码随想录有感(122):动态规划——最长子序列

题干&#xff1a; 代码&#xff1a; class Solution { public:int lengthOfLIS(vector<int>& nums) {if(nums.size() < 1)return nums.size();vector<int>dp(nums.size(), 1);int res 0;for(int i 1; i < nums.size(); i){for(int j 0; j < i; j)…

生信新包|Mellon·量化单细胞表型景观中的细胞状态密度

分化是支持所有多细胞生物发育和功能的动态过程。了解细胞如何沿着分化轨迹分布对解析驱动分化的机制、找出关键调控因素以及表征疾病中的失调至关重要。细胞状态密度是这种细胞分布的表现&#xff0c;受到基本生物过程的影响。增殖会增加某一状态下的细胞数目&#xff0c;从而…

倒装COB显示屏与传统SMD显示屏安装方式有哪些不同?

COB显示屏与传统SMD显示屏是商业显示领域中非常重要的两种载体&#xff0c;在前面的文章当中我们为大家阐述了倒装COB显示屏的技术特点&#xff0c;今天跟随COB显示屏厂家深圳市中品瑞科技一起来看看&#xff0c;COB显示屏的安装与传统LED显示屏的安装有哪些不同&#xff1f; 一…

Dev++软件连接Sqlite

Dev中的C语言使用连接sqlite数据库 1.下载sqlite3.dll和sqlite3.h sqlite3.dll类似于.c文件&#xff0c;封装了函数的原型。 sqlite3.h库文件声明函数。 官网地址下载&#xff1a;sqlite sqlite-amalgamation-3460000.zipsqlite-dll-win-x64-3460000.zip 2.新建c项目 1. …

es学习初步总结

看api看麻了不知道意义在哪里&#xff0c;所以就简单总结点我觉得有用的东西 基本数据结构解析 分为了文档&#xff0c;索引和映射 索引可以理解为一张表&#xff0c;映射描述了索引的数据结构&#xff0c;而文档就是一个个具体的行 所以一般我们需要在申明索引的时候同时申…

STC8/32 软硬件I2C通讯方式扫描I2C设备地址

STC8/32 软硬件I2C通讯方式扫描I2C设备地址 📄主要用于检测挂载在I2C总线上的设备。在驱动I2C设备之前,如果能扫描到该设备,说明通讯设备可以连接的上,在提前未知I2C地址的情况下,可以方便后面的驱动代码的完善。 🔬扫描测试效果:(测试mpu6050以及ssd1306 i2c oled )…

Java源码实现《植物大战僵尸》

前言 学Java的朋友们&#xff0c;福利来了&#xff0c;今天小编给大家带来了一款 植物大战僵尸源码&#xff0c;看图: 视频演示 java植物大战僵尸 环境JDK1.8 类继承UML图 源码实现 我们先从main函数看起&#xff0c;继承了javafx.application.Application。JavaFx是Java图形…

3d里面减小模型大小的键是什么意思?---模大狮模型网

在3D建模和动画制作中&#xff0c;调整模型的大小是常见的操作&#xff0c;但这并不仅仅意味着简单地改变模型的尺寸。特别是当我们谈论到"减小模型大小的键"时&#xff0c;涉及到更深层次的技术和工作流程。让我们深入探讨这一话题&#xff0c;理解在3D环境中如何有…

@Cacheable解决复杂对象形参导致的缓存失效问题(如Map参数)

在Spring中使用 Cacheable 注解可以非常方便地实现方法的自动缓存机制。如以下代码&#xff1a; Cacheable(value "YwtbToken", key "#p0") public String createToken(String dlzh) {...}但当Cacheable 注解修饰的方法参数使用了复杂对象&#xff0c;如…

WMS、ERP、MES之间的关系

WMS&#xff08;仓库管理系统&#xff09;、ERP&#xff08;企业资源计划&#xff09;、MES&#xff08;制造执行系统&#xff09;是企业管理和运作中常见的三种系统&#xff0c;它们在不同的层面上发挥作用&#xff0c;但之间又有紧密的联系。三者之间的区别如下&#xff1a; …

中电金信:银行业私有云何去何从

2009年&#xff0c;云计算开始从概念走向实践。在这一年&#xff0c;Gartner在预测2010十大发展趋势中&#xff0c;将云计算列在榜首。在这之后&#xff0c;谷歌、亚马逊、IBM等科技巨头纷纷加码对云计算的研发投入。2010年正式迎来云计算时代&#xff0c;这一年也被定为“云元…

window用户层文件系统fuse(wdm驱动)

dokany https://github.com/dokan-dev/dokany.git 需要安装wdk&#xff0c;2022可以直接通过windows driver扩展安装 项目使用nuget添加wdk依赖 Version of Uwp Package 10.0.26100.0 does not match TargetPlatformVersion 10.0.22621.0. windows sdk版本填写正确的版本号…

批量签章签名如何实现?

在数字化转型的浪潮中&#xff0c;电子签章技术已经成为了企业运营和个人业务处理中不可或缺的一部分。本文将详细介绍一种先进的电子签章机&#xff0c;它不仅符合国家安全标准&#xff0c;还具备多样化的签章功能和高效的任务处理能力。 电子签章机是一种高度集成的设备&…

告别流失,拥抱增长!Xinstall智能邀请系统,让你的App拉新更高效

在移动互联网时代&#xff0c;App的推广和运营面临着诸多挑战。其中&#xff0c;如何有效地进行邀请拉新活动&#xff0c;吸引更多新用户&#xff0c;成为了每个运营者都需要面对的问题。今天&#xff0c;我们将为大家介绍一款能够帮助你轻松解决这一难题的神器——Xinstall。 …

智芯开发板----时钟的使用

一、开发板时钟概述 介绍 Z20K11xM 的时钟结构&#xff0c;分布以及各个外设时钟源的选择。SCC 模块用于选择系统时钟&#xff0c;产生 core clock、bus clock 和 flash clock&#xff0c;分 别用于驱动 core 及高速外设、普通外设和 flash。PARCC 模块用于单独设置 每个外设的…

【Python机器学习】模型评估与改进——留一法交叉验证

留一法也是一种常见的交叉验证方法。 我们可以将留一法交叉验证看作是每折只包含单个样本的k折交叉验证。对于每次划分&#xff0c;选择单个数据点作为测试集。这种方法可能非常耗时&#xff0c;特征是对于大型数据&#xff0c;但是小型数据集上有时可以给出更好的估计结果&am…

大数据开发中的数据倾斜问题

数据倾斜是大数据开发中常见的性能瓶颈&#xff0c;了解其原因并采取有效的解决方案对系统性能至关重要。本文将从数据倾斜的影响、解决方法及示例代码等方面进行详细讨论。 目录 1. 数据倾斜的影响2. 解决数据倾斜的方法调整分区键预聚合倾斜处理逻辑 3. 进一步解决数据倾斜的…