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

NextJS 14项目用shadcn/ui加组件遇EACCES权限错误求助

解决shadcn-ui添加组件时的EACCES权限错误

问题根源

错误提示mkdir '/components'说明shadcn-ui没找到你的项目根目录,反而试图在系统根目录创建文件夹——要么是你没在项目目录里执行命令,要么是shadcn的配置文件路径错了,或者当前用户对项目目录没有写入权限。

分步解决办法

1. 先切到项目根目录再执行命令

先确保你在Next.js项目的根文件夹里,比如:

cd ~/projects/your-nextjs-app

然后重新跑添加命令:

npx shadcn-ui@latest add navigation-menu

2. 检查并修正components.json配置

项目根目录下的components.json是shadcn的核心配置文件,必须保证路径正确适配Next.js 14的src结构。如果没有这个文件,先初始化:

npx shadcn-ui@latest init

初始化时跟着引导走,把组件目录设为src/components。

如果已经有这个文件,打开它确认配置项:

{
  "$schema": "https://ui.shadcn.com/schema.json",
  "style": "default",
  "rsc": true,
  "tsx": false, // 用JSX就设false,TSX设true
  "tailwind": {
    "config": "tailwind.config.js",
    "css": "src/app/globals.css",
    "baseColor": "slate",
    "cssVariables": true,
    "prefix": ""
  },
  "aliases": {
    "components": "@/components",
    "utils": "@/lib/utils"
  }
}

重点看aliases里的components路径,必须指向你的项目组件目录。

3. 修复项目目录权限

如果是权限不足导致写不进去,给当前用户赋予项目目录的所有权:

sudo chown -R $USER:$USER /path/to/your-nextjs-project

或者调整目录权限(别给系统根目录改权限,只操作你的项目文件夹):

chmod -R 755 /path/to/your-nextjs-project

4. 本地安装shadcn-ui再执行(可选)

如果是npx全局权限的问题,先在项目里装shadcn-ui:

npm install shadcn-ui

再用本地命令添加组件:

npx shadcn-ui add navigation-menu

5. 清空npx缓存(排除缓存干扰)

如果之前的错误被缓存了,先清缓存:

npx clear-npx-cache

然后重新执行添加命令。

验证

搞定后去src/components/ui目录看看,应该会生成navigation-menu.jsx文件。

内容的提问来源于stack exchange,提问作者Meet Akbari

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 05:33:16