mac终端报错 Error: EROFS: read-only file system, mkdir '/path'

系统升级后,执行npm指令时,终端突然报错如下 ,

周转了一大圈,发现使用解除SIP的方式对我并不适用(sudo也是毫无用武之地),兜兜转转了一大圈,发现与系统大版本也是有一定关系的。总结如下(以我当前遇到的path为例):

根据mac 的系统版本,来选择解决办法

如果是Cataline ,也就是11之前的:

解决办法(关闭SIP,然后输入sudo mount -uw /,创建文件夹添加权限,最后启用SIP),具体步骤如下:

1、重启mac,黑屏后,按住Command+R,等到系统进入安全模式。

2、选择一个账户,输入密码,然后点击屏幕上方的工具栏找到命令行工具。

3、执行,命令 csrutil disable

4、重启电脑后,不要进入安全模式,执行命令sudo mount -uw /

5、执行命令sudo mkdir /path

6、执行命令sudo chmod 777 /path

7、重启电脑,进入安全模式,执行命令csrutil enable (开启SIP) (!!!!该步骤可以不执行)

mac的版本 11.0 之后的用下面,尤其是MacOS升级到Mac Big Sur(11.01)版本后,关闭SIP重新挂载根分区也是行不通的

方法2:

无法创建目录

最近小伙伴经常反馈Mac根目录下创建文件或目录一直失败,并且尝试了各种姿势。 常见错误如下:

常见错误1, 直接创建目录

mkdir -p /path

mkdir: /path: Read-only file system

常见错误2。 进入安全模式,关闭 authenticated-root 和SIP后,重新挂载根分区

sudo mount -uw /

mount_apfs: volume could not be mounted: Permission denied

mount: / failed with 66

解决方案 (以我当前遇到的path为例):

  1. 创建可用目录(不在根目录下),如
    mkdir -p ~/path
  2. 增加关联
    sudo vi /etc/synthetic.conf 内容:
    path /Users/xxxx/path # 注意,这里data前面没有/; 并且data与后面内容使用tab分割

pwd 查看当前路径,如上方的 /Users/xxxx

  1. 重启系统
    sudo reboot

参考:mac根目录下无法创建文件或目录

相关推荐
再玉米地里吃过亏21 分钟前
ONENET平台API鉴权错误
前端
网络点点滴23 分钟前
Vue3中Suspense的使用
前端·javascript·vue.js
饼干哥哥40 分钟前
搭建一个云端Skills系统,随时随地记录TikTok爆款
前端·后端
酉鬼女又兒1 小时前
零基础快速入门前端Web存储(sessionStorage & localStorage)知识点详解与蓝桥杯考点应用(可用于备赛蓝桥杯Web应用开发)
开发语言·前端·javascript·职场和发展·蓝桥杯·html
DanCheOo1 小时前
# 从"会用 AI"到"架构 AI":高级前端的认知升级
前端·ai编程
社恐的下水道蟑螂1 小时前
前端面试必问 Git 通关指南:常用命令速查 + merge/rebase 深度辨析,看完再也不慌
前端·git·面试
None3211 小时前
NestJS 流式文件上传实践:从 Multer 到 Busboy 的进阶之路
前端·后端
海浪浪1 小时前
Symbol 产生的背景以及应用场景
前端·javascript
DROm RAPS2 小时前
十七:Spring Boot依赖 (2)-- spring-boot-starter-web 依赖详解
前端·spring boot·后端
OpenTiny社区2 小时前
GenUI SDK v1.1.0 正式发布|全端体验革新,能力与稳定性进阶
前端·ai编程