mac使用npm全局下载的时候报错没有权限的解决方案记录

最近要创建一个新项目,使用npm全局下载脚手架的时候,发现报错:

npm ERR! errno -13
npm ERR! Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/fe-cli'
npm ERR!  [Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/fe-cli'] {
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'mkdir',
npm ERR!   path: '/usr/local/lib/node_modules/fe-cli'
npm ERR! }
npm ERR! 
npm ERR! The operation was rejected by your operating system.
npm ERR! It is likely you do not have the permissions to access this file as the current user
npm ERR! 
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator.

原因说明:没有足够的权限在 /usr/local/lib/node_modules 目录下创建文件夹,这通常是因为默认情况下,普通用户没有权限在 /usr/local/lib 目录中进行写入操作。

1.解决方式

有两种方式来解决这个问题

1.使用 Node.js 的版本管理工具 nvm 或 n 来安装 Node.js(推荐

        在 macOS 系统上,你可以使用 Node.js 的版本管理工具 nvm 或 n 来安装 Node.js,这样会避免权限问题。这将安装 Vue.js 到 Node.js 的全局安装目录中,通常在用户的主目录下,而不需要管理员权限。

2.手动修改npm默认的文件夹(不推荐)

Resolving EACCES permissions errors when installing packages globally | npm Docs

2.mac下载nvm

2.1.卸载node

1、首先查看电脑上是否安装的有node,查看node版本node -v2、如果有node就彻底删除nodesudo rm -rf /usr/local/{bin/{node,npm},lib/node_modules/npm,lib/node,share/man/*/node.*}

2.2 下载nvm

1.配置host:

185.199.109.133 raw.githubusercontent.com

2.下载nvm

sudo curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash

3.检查是否安装成功

正常情况下安装完成后,会自动在全局配置文件中,配置好相应的环境变量。可以使用 nvm -v 命令进行验证。如果出现zsh: command not found: nvm,则按照下面的步骤手动配置。

3.3.配置环境变量

vim编辑信息命令i     编辑esc   退出编辑(esc指esc键):qw   退出编辑文件1、进入顶层文件夹cd ~2、配置环境变量vim ~/.bash_profile3、然后将下面的配置信息输入保存export NVM_DIR="$HOME/.nvm"[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion4、刷新环境变量source ~/.bash_profile5、输入 nvm -v 检查nvm是否可用

3.nvm常用命令

3.1.下载指定版本

nvm install v16.20.2

3.2.卸载指定版本

nvm uninstall v16.20.2

3.3.查看所有安装过的版本

nvm ls

3.4.使用某个已下载版本

nvm use v16.20.2

3.5 下载最新稳定版本

nvm install stable

参考:


解决在Mac下使用npm报错:Error: EACCES: permission denied, mkdir ‘/usr/local/lib/node_modules/@vue‘_npm err! code eacces npm err! syscall mkdir npm er-CSDN博客

mac安装nvm详细教程 || mac配置nvm避坑 - 掘金

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

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

相关文章

Android 车联网——电源管理功能扩展(十)

前面两篇文章介绍了 CarPowerManagementService 和 CarPowerManager 相关代码,他们具有对应关系。对于源码中所提供的功能和电源状态等不足以满足实际开发需求,这里我们列举一些实际项目中所遇到的变化。 一、电源状态变化 对于电源状态实际开发中肯定会比源码中提供的要多,…

技术概述:ARMv8体系结构

John Goodacre, Director Program Management ARM Processor Division, November 2011 背景:ARM体系结构 从ARM精简指令集体系结构提出到现在已经有20多年了;ARMv7系列处理器是在ARMv4基础上设计的,随着ARMv7系列处理器大量应用&#xff0…

争做智驾“第一阵营”,锚定“全球前五”,小米汽车底气何在?

“官宣”造车超1000天后,低调行事的小米终于进行了首次“军火展示”。 2023年12月28日,小米集团(HK:01810,下称“小米”)在北京举办小米汽车技术发布会,公布了小米汽车核心技术及首款产品小米SU7。按照规划…

对话新七天创始人&CEO左英杰:品牌直播电商出圈“五步法”

整理 | 飞族 编辑 | 渔舟 出品|极新&北京电子商务协会 AI、AIGC、VR等数智化新技术发展日新月异,在直播电商领域的应用和探索逐渐深入,从内容生成、创意优化、购物体验、智能客服、精准营销等方面提供全方位全链路的赋能&#…

用C语言采集游戏平台数据并做行业分析

目录 一、数据采集方法 日志采集 API采集 二、数据采集流程 确定采集目标 选择采集方法 编写采集程序 数据清洗和整理 三、行业分析方法 对比分析 趋势分析 分类分析 四、案例分析:基于C语言的实时游戏平台数据采集与行业分析系统实现 五、结论 随着游…

算法训练营Day34

#Java #动态规划 开源学习资料 Feeling and experiences: 动态规划的关键几个步骤: 1. 定义子问题:将原问题分解成较小的子问题。 2. 实现递归关系:建立子问题之间的递归关系,这些关系通常以数学形式表达&#xff…

泛型擦除到底是怎么一回事

一.泛型擦除 泛型擦除是什么&#xff1f; 众所周知&#xff0c;Java的泛型只在编译时有效&#xff0c;到了运行时这个泛型类型就会被擦除掉&#xff0c;即List<String>和List<Integer>在运行时其实都是List<Object>类型。 为什么选择这种实现机制&#xf…

windows 10 安装wsl ubuntu

1.首先管理员模式打卡powershell&#xff0c;执行 dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart 2.执行 wsl --update wsl --…

python 基础语法函数

函数定义 def 函数名(形参列表用逗号隔开)&#xff1a; 函数体 return 返回值 # 有参数 无返回值 def my_length(data):count 0for i in data:count 1print(f"data count{count}")my_length(str1) my_length(str2)#无参数无返回值 def say_hello():print("h…

全网唯一值得推荐的C/C++框架和库

全网唯一值得推荐的C/C框架和库 C程序员开发指南 ​ 关注我&#xff0c;天天分享C/C开发技术干货&#xff01; ​关注他 30 人赞同了该文章 ​ 目录 收起 标准库 C通用框架和库 人工智能 异步事件循环 音频 生态学 压缩 并发性 容器 数据库 调试 游戏引擎 图…

Vue中的双向数据绑定是如何实现的

解析 双向数据绑定是Vue框架的核心特性之一&#xff0c;它允许开发者在Vue组件中实现数据的自动同步。当数据发生变化时&#xff0c;视图会自动更新&#xff1b;反过来&#xff0c;当用户在视图中修改数据时&#xff0c;数据也会自动更新。 Vue中的双向数据绑定是通过使用v-m…

死机重启不开机

1. 修改rc文件,使得开机即打开AEE: /vendor/mediatek/proprietary/external/aee/config_external/init.aee.customer.vendor.rc里添加 on init setprop ro.vendor.aee.enforcing no(注意修改此属性后, 无法通过CTS 安全测试项, 在正式发布版本时, 需要恢复默认设置,把此行修…

代码随想录训练营第五十七天| ● 647. 回文子串 ● 516.最长回文子序列● 动态规划总结篇

647. 回文子串 动态规划解决的经典题目&#xff0c;如果没接触过的话&#xff0c;别硬想 直接看题解。 代码随想录 dp数组定义&#xff1a;布尔类型的dp[i][j]&#xff1a;表示区间范围[i,j] &#xff08;注意是左闭右闭&#xff09;的子串是否是回文子串&#xff0c;如果是…

西门子消防主机控制面板显示盘维修B3Q565

作为图形监控主机&#xff0c;负责接收并储存各消防设备主要运行状态&#xff0c;接收火灾报警并显示报警部位&#xff0c;包括火灾报警、状态监视、设备故障报警、网络故障报警﹐指挥抢险救援的活动,进行火灾信息的处理与传送&#xff0c;同时具备提示操作人员的功能&#xff…

TS:类型断言

类型断言好比其他语言中的类型转换&#xff0c;但是不是真正的类型转换方式&#xff0c;之所以不被称为类型转换&#xff0c;是因为转换通常意味着某种运行时的支持。但是&#xff0c;类型断言纯粹是一个编译时语法&#xff0c;同时&#xff0c;它也是一种为编译器提供关于如何…

使用代理IP实现爬虫的匿名性

目录 前言 一、什么是代理IP&#xff1f; 二、使用Python实现代理IP爬虫 1. 安装所需模块 2. 获取代理IP列表 3. 使用代理IP进行爬取 4. 使用代理IP进行数据抓取 三、总结 前言 随着互联网的快速发展&#xff0c;网络爬虫已经成为了获取互联网数据的一种重要方式。然而…

原生JS实现抽奖

1、效果展示 0. 制作一个MiniSize使用提供的素材实现一个转盘活动的布局&#xff08;如下图所示&#xff09;&#xff1b; 进入界面后2秒钟后开始旋转&#xff0c;5秒钟后停止旋转&#xff1b;并且3秒后进入一个表单界面&#xff08;如下图2所示&#xff09;&#xff1b;界面…

vins 实机测试 rs_d435 + imu

vins 实机测试 文章目录 1. imu标定2. camera内参标定3. imu-cam 外参标定4. vins 实际运行5. realsense 1. imu标定 git clone https://github.com/gaowenliang/code_utils.git git clone https://github.com/gaowenliang/imu_utils.git编译运行&#xff0c; roslaunch imu_…

Unity 圆角 线段 绘制 LineRender

需求 绘制圆角 核心函数 /// <summary>/// 点ABC 形成的角度必须为90 点c为中间的点/// </summary>/// <param name"a"></param>/// <param name"b"></param>/// <param name"c"></param>/// &…

CH08_管理状态

Observer 模式 观察者模式&#xff08;Observer&#xff09;&#xff0c;又叫发布订阅模式&#xff08;Publish/Sunscribe&#xff09;模式&#xff0c;定义了一种一对多的依赖关系&#xff0c;让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时&#xf…