超详细手把手教你四种方案彻底解决MAC npm install -g 报错permission denied

2023-05-16

在日常开发过程中,我们使用MAC执行 npm install -g 下载安装包的时候,经常会遇到如下报错:permission denied

报错详情

xxx@CN_C02xxxxx6M ~ % npm install -g yarn
npm ERR! code EACCES
npm ERR! syscall mkdir
npm ERR! path /usr/local/lib/node_modules/yarn
npm ERR! errno -13
npm ERR! Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/yarn'
npm ERR!  [Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/yarn'] {
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'mkdir',
npm ERR!   path: '/usr/local/lib/node_modules/yarn'
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.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/xxxxx/.npm/_logs/2022-12-06T11_15_27_852Z-debug-0.log

解决方案如下:

解决报错方案一:(针对正常权限的电脑)

sudo npm i yarn -g

解决报错方案二:(仅限电脑权限管控严格情况下,无法获取权限)

step1: 查看npm 全局文件安装地址

XXX@CN_CXXXMD6M ~ % npm list -g                    
/usr/local/lib
├── @quasar/cli@1.3.2
├── corepack@0.14.1
├── npm@8.19.2
└── yarn@1.22.18

step2: 从其他人电脑上同样的目录,拷贝出来两份文件,一个是命令的快捷方式文件,一个是环境变量所指的路径文件,粘贴到自己电脑相同位置

  • 命令快照文件


  • 全局命令所指文件

step3: 打开环境变量配置文件,配置环境变量

vim ~/.bash_profile

把下面内容粘贴到环境变量文件里,

export PATH=/usr/local/lib/node_modules/yarn/bin/:$PATH

保存.bash_profile的编辑,执行一下文件

source ~/.bash_profile

问题解决,大功告成

命令行重新打开,就可以使用yarn

yarn -v

解决方案三:(建议大家都使用这种方案)

step1: 打开环境变量配置文件,配置环境变量

mkdir ~/.npm-global
npm config set prefix '~/.npm-global'

step2: 打开环境变量配置文件,配置环境变量

vim ~/.bash_profile

把下面内容粘贴到环境变量文件里,

export PATH=~/.npm-global/bin:$PATH

保存.bash_profile的编辑,执行一下文件

source ~/.bash_profile

step3: 问题解决,大功告成

命令行重新打开,就可以使用yarn

解决方案四:

step1:前提-已经安装homebrew

(如果未安装,可以打开终端,输入以下命令安装Homebrew)

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

step2:查看安装的brew的版本

brew --version 

step3:使用brew去安装我们需要的包,这里以yarn为例

brew install yarn

原理

报这个错,根本原因是由于npm全局安装模块的默认路径没有权限,通常有以下几种方式解决:

  • 修改全局安装路径的权限(方案一,开权限)
  • 修改默认安装路径 (方案三采用的就是这种)
  • 借助其他工具安装(方案四)
  • 其他方式(方案二)

今天就写到这里啦~

  • 小伙伴们,( ̄ω ̄( ̄ω ̄〃 ( ̄ω ̄〃)ゝ我们明天再见啦~~
  • 大家要天天开心哦

欢迎大家指出文章需要改正之处~
学无止境,合作共赢

在这里插入图片描述

欢迎路过的小哥哥小姐姐们提出更好的意见哇~~

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

超详细手把手教你四种方案彻底解决MAC npm install -g 报错permission denied 的相关文章

随机推荐

  • 总线带宽计算公式(解析)

    总线带宽 xff1a 一定时间内总线上可以传输的数据量 xff0c 使用MByte s表示 总线位宽 xff1a 总线能同时传送的数位数 xff0c 使用bit表示 xff08 常见的如32位 xff0c 64位 xff09 总线频率 xf
  • macOS终端命令行配置网络代理

    一 前言 xff1a 在下载一些需要vpn下载公司内网的源码或者认证时 xff0c 必不可少的需要使用代理 xff0c 与普通的网页及应用代理不同 xff0c 在mac的终端中并没有开启默认的代理模式 xff0c 所以需要手动进行设置 xf
  • VUE源码浅读

    首先我们要知道vue代码如何运行的 xff1f 初始化及挂载 61 gt 编译 xff08 parse optimize generate xff09 61 gt render function渲染 xff08 响应式 xff09 61 g
  • 一文解决Vue2过渡Vue3痛点

    项目升级vue3 0总结 醉逍遥neo的博客 CSDN博客 升级项目vue版本
  • 前端vue需求:将当前页面转成图片或者PDF并下载

    一 xff0c 下载依赖并引用 npm install html2canvas jspdf import html2canvas from 34 html2canvas 34 import jsPDF from 34 jspdf 34 二
  • react数据之dispatch,reducer

    1 之前写了一篇fetch的简单用法 xff0c 实际项目中数据比那个要复杂 xff0c 下面看一下通过dispatch和reducer来控制数据的更新 xff1b 2 还是以上一个添加分组的组件为例 xff1a 首先我们写一个MoveGr
  • 定时器/计数器介绍

    第一次在学习定时器的时候模模糊糊 xff0c 在做过一些题目之后对定时器有了更新的理解 xff0c 现在整理一下 xff0c 做笔记使用 目录 一 基础知识 定时器的作用 xff1a 定时器的实质 xff1a 定时器的工作原理 xff1a
  • echarts图表大小自适应

    1 还是我上一篇echarts简单使用的例子 xff1a 如果是随windows的width和height自适应的话 xff0c 如下 xff1a var echartsWarp 61 document getElementById 39
  • audio自动播放完美兼容实现方案

    前述 xff1a 最近解决的一个疑难杂症 xff0c 是关于audio自动播放与监听audio加载完成在ios上的兼容性问题 xff0c 其表现为pc xff0c 安卓谷歌浏览器正常 xff0c ios微信 xff0c 谷歌浏览器不正常 需
  • uni-app开发流程一(项目搭建)

    uni app其实是DCloud推出的众多产品之一 xff0c 当然我只研究目前能用到的 DCloud的官网 xff1a https www dcloud io uni app的官网 xff1a https uniapp dcloud io
  • uni-app开发问题总结(小程序与h5)2:兼容性

    前端时间连着开发了俩个项目 xff0c 都是在线教育类的 xff0c uni app架构 xff0c 一套代码兼容移动端h5 43 小程序 碰到一些兼容性问题 xff0c 这里做个记录 xff1a 一 默认使用uni app创建的css 有
  • nginx location proxy_pass的一些坑

    常规博客是 xff0c 先讲自己的经历 xff0c 然后再啰嗦一段话 xff0c 并且再穿插一些自己的感想之类的 不 xff0c 我的博客力求最高效率 需求 xff1a 把 URL 中带 proxy 的统统转发至另外的机子 1 loacat
  • mysql 5.7.28版本 my.cnf 文件的路径

    缘起改mysql的 slow query log 的配置 xff0c 在下 5 7 28版本 etc my cnf 文件据说在5 7 1X版本更改了 xff0c 此后版本把该文件丢在 etc mysql mysql conf d mysql
  • mysql 跨服务器导入

    本机a 服务器b 服务器c xff0c 在本机a 通过终端操作 xff0c 把服务器b上mysql 数据 导入到服务器C mysqldump h192 168 79 130 P3306 ushit pyoueat database youe
  • mysql 查看help手册

    作用 xff1a 解决 记得函数 xff0c 不记得语法的窘境 查看总的目录 mysql gt contents 其下的是各大分类 You asked for help about help category 34 Contents 34
  • vim 查看help命令

    并不需要查找vim 的工作手册 xff0c vim 自带说明书 步骤1 xff1a xff1a help 步骤2 xff1a quickref 步骤3 xff1a 找到 步骤4 xff1a ctrl键 键 同时按下 步骤5 xff1a 会来
  • ubuntu自带的命令查看

    xff1a man ls 比如查ls 命令
  • 【无标题】安装ROS E: 无法定位软件包 ros-melodic-desktop-full

    一 遇到问题 二 可能的原因和解决方法 1 源换一下 xff1a xff08 1 xff09 我是看这位大佬的 5条消息 记录 解决Ubuntu安装ros报错E Unable to locate package ros kinetic de
  • taskset命令:查看、指定进程运行在哪个cpu上

    reference xff1a https baijiahao baidu com s id 61 1592330790387359245 amp wfr 61 spider amp for 61 pc https www cnblogs
  • 超详细手把手教你四种方案彻底解决MAC npm install -g 报错permission denied

    在日常开发过程中 xff0c 我们使用MAC执行 npm install g 下载安装包的时候 xff0c 经常会遇到如下报错 xff1a permission denied 报错详情 xxx 64 CN C02xxxxx6M npm in