我尝试使用create-react-app,但我得到了这个错误:Error: EPERM: operation not permitted, mkdir '/dev/dev-app'
我指定我在MacOS上,我知道有很多类似的问题,但它们是在Windows上...
我尝试过的:
- 使用
sudo chown -R $(whoami) /dev/
为npm授予权限,但收到以下错误chown: /dev//fd/4: Bad file descriptor
npm cache clean --force
- 我更新了创建React应用程序(
sudo npm update -g create-react-app
)
这里我得到完整的错误:
node:fs:1324
handleErrorFromBinding(ctx);
^
Error: EPERM: operation not permitted, mkdir '/dev/dev-app'
at Object.mkdirSync (node:fs:1324:3)
at Object.module.exports.makeDirSync (/usr/local/lib/node_modules/create-react-app/node_modules/fs-extra/lib/mkdirs/make-dir.js:101:15)
at createApp (/usr/local/lib/node_modules/create-react-app/createReactApp.js:255:6)
at /usr/local/lib/node_modules/create-react-app/createReactApp.js:226:9
at processTicksAndRejections (node:internal/process/task_queues:96:5) {
errno: -1,
syscall: 'mkdir',
code: 'EPERM',
path: '/dev/dev-app'
}
提前感谢您的回答:)
1条答案
按热度按时间wz1wpwve1#
注意在所有类Unix系统上(包括macOS),/dev/是一个为设备接口和其他特殊东西保留的目录,像react这样的软件包想要在那里创建自己的子目录似乎很奇怪。例如/dev/disk 0 s1是直接访问磁盘编号0,分区1,这不是你想要的,除了低级的磁盘管理工具(比如“检查磁盘错误”)。
dev下的另一个常见内容是/dev/fd/${number},它是一种脚本方式,用于访问访问这些名称的程序以Unix文件句柄${number}打开的任何内容。因此,您尝试更改/dev下所有内容的所有权(一个非常非常糟糕的主意)显示了一个错误,试图改变chmod命令进程本身的文件句柄4的所有权,实际上它可能是目录/dev/fd本身的句柄,而目录/dev/fd本身不是真实磁盘上的真实的目录。