You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux终端全局安装Vue CLI报EROFS只读文件系统错误如何解决

问题原因

你遇到的EROFS错误本质是npm尝试写入缓存目录时触发了只读文件系统限制,绝大多数此类场景是因为使用sudo执行npm命令时,修改了当前用户家目录下.npm缓存文件夹的所有者权限,导致普通读写操作被限制。

解决步骤

  • 第一步:修复.npm缓存目录权限
    执行以下命令将家目录下的npm缓存目录所有权改回当前登录用户:
    sudo chown -R $(whoami) ~/.npm
    
  • 第二步:清理已存在的不完整安装
    你已经发现/usr/local/lib/node_modules下存在@vue文件夹,先卸载残留的不完整安装:
    sudo npm uninstall -g @vue/cli
    
    如果卸载报错,可以直接手动删除残留文件:
    sudo rm -rf /usr/local/lib/node_modules/@vue
    sudo rm -rf /usr/local/bin/vue
    
  • 第三步:(推荐)改用用户级全局安装路径,避免后续sudo权限问题
    不需要root权限也可以全局安装npm包,操作如下:
    1. 创建用户专属的全局npm包安装目录
    mkdir -p ~/.npm-global
    
    1. 配置npm使用该目录作为全局安装路径
    npm config set prefix '~/.npm-global'
    
    1. 将全局命令路径加入系统环境变量,如果你用bash shell,编辑~/.bashrc文件,末尾新增一行:
    export PATH=~/.npm-global/bin:$PATH
    
    如果你用zsh shell,就编辑~/.zshrc文件新增上述内容,保存后执行以下命令使配置生效:
    source ~/.bashrc
    # 对应zsh的话执行 source ~/.zshrc
    
  • 第四步:重新安装Vue CLI
    不需要加sudo,直接执行:
    npm i -g @vue/cli
    
    安装完成后执行vue --version输出版本号即为安装成功。

特殊情况处理

如果执行上述操作后仍然报EROFS错误,检查你的/home分区是否被挂载为只读:

mount | grep /home

如果输出中包含ro(只读)标识,执行以下命令重新挂载为读写模式:

sudo mount -o remount,rw /home

内容的提问来源于stack exchange,提问作者Ravinder Singh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 00:18:02