纱线“错误:EISDIR:对目录的非法操作,读取”

问题描述

突然纱线不起作用。 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 试图“读取”一个目录文件(第 4 行)。由于操作无法完成,因此抛出错误。

这里要确保三件事。

确保文件存在。如果没有,您需要创建它。 (如果 yarn 依赖于文件中的任何特定信息,您将需要在那里获得该信息)。

确保它实际上是一个文件而不是目录。 它具有正确的权限。您可以将文件更改为具有所有权限

sudo chmod 777 FILE_NAME

(注意:您正在为该文件的每个人授予读取、写入和执行权限)

,

尝试查找并删除位于

的.npmrc

窗口: C:/users/<your username>/.npmrc

Ubuntu: /home/<your username>/.npmrc

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...