簡體   English   中英

紗線“錯誤:EISDIR:對目錄的非法操作,讀取”

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM