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

向空NX工作区添加@nrwl/react失败,遇Cypress权限错误

解决NX工作区添加@nrwl/react时的Cypress权限问题

我之前也碰到过一模一样的问题,这本质上是Cypress缓存目录的文件权限混乱导致的——哪怕用sudo也只会让问题更糟,因为sudo会让安装过程以root身份运行,反而把缓存目录的所有权改成root,普通用户就更写不进去了。

问题根源

你遇到的核心错误是:

无法访问/home/mint/.cache/Cypress:EACCES: permission denied, mkdir '/home/mint/.cache/Cypress'

这说明Cypress在尝试创建或写入自己的缓存目录时,当前用户没有足够的权限。另外那个Angular对等依赖的警告只是次要问题,不影响React的安装,可以后续再处理。

分步解决方案

1. 修复缓存目录的权限

首先处理最核心的权限问题:

  • 先查看缓存目录的所有权(如果目录存在的话):
    ls -ld ~/.cache/Cypress
    
  • 如果显示所有者是root,就把所有权改回当前用户:
    sudo chown -R $USER:$USER ~/.cache/Cypress
    
  • 如果目录还不存在,直接创建并设置正确的权限:
    mkdir -p ~/.cache/Cypress && chmod 700 ~/.cache/Cypress
    

2. 清理之前的失败缓存

为了避免残留的失败安装文件干扰,先清理包管理器的缓存:

  • 如果你用yarn:
    yarn cache clean
    
  • 如果你用npm:
    npm cache clean --force
    

3. 重新执行安装命令

注意:绝对不要用sudo执行这条命令,普通用户身份运行即可:

yarn ng add @nrwl/react

4. 处理Angular对等依赖警告(可选)

如果你之后不需要用到Angular相关的工具,可以忽略这个警告;如果需要,手动安装对应的依赖:

yarn add -D @angular/compiler-cli@^8.0.0

为什么手动安装Cypress没用?因为手动安装没有解决缓存目录的权限问题,而且NX在安装@nrwl/react时会自动处理Cypress的依赖,所以先搞定权限再重新运行安装命令才是正确的路径。

内容的提问来源于stack exchange,提问作者Anatole Lucet

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:19:09