[英]yarn "Error: EISDIR: illegal operation on a directory, read"
突然纱线不起作用。 Npm 工作正常,但 yarn 只能运行 yarn -v,任何其他命令(例如 yarn、yarn test 或 yarn watch)都会显示此错误
Arguments:
/home/my.user/.nvm/versions/node/v14.15.4/bin/node /home/my.user/.nvm/versions/node/v14.15.4/bin/yarn
PATH:
/home/my.user/.nvm/versions/node/v14.15.4/bin:/home/my.user/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
Yarn version:
1.22.10
Node version:
14.15.4
Platform:
linux x64
Trace:
Error: EISDIR: illegal operation on a directory, read
npm manifest:
{
"name": "one",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo 'hello'"
},
"keywords": [],
"author": "",
"license": "ISC"
}
yarn manifest:
No manifest
Lockfile:
No lockfile
EISDIR 代表“错误,是目录”。 这意味着 yarn 正在尝试对文件执行某些操作,但它是一个目录。 在您的情况下,yarn 试图“读取”作为目录的文件(第 4 行)。 由于无法完成操作,因此会引发错误。
这里要确保三件事。
确保文件存在。 如果没有,您需要创建它。 (如果 yarn 依赖于文件中的任何特定信息,您将需要在那里拥有该信息)。
确保它实际上是一个文件而不是一个目录。 它具有正确的权限。 您可以更改文件以拥有所有权限
sudo chmod 777 FILE_NAME
(小心:您正在为该文件上的每个人授予读取、写入和执行权限)
似乎纱线正在寻找一个.npmrc文件。 但是,它会找到一个同名的目录,然后在尝试读取它时输出错误。 删除目录将删除错误。 这就是.npmrc删除背后的概念。
就我而言,删除yarn.lock
文件后,我可以正常安装依赖项
尝试查找并删除.npmrc,它位于
Windows: C:/users/<your username>/.npmrc
Ubuntu: /home/<your username>/.npmrc
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.