NPM이 스택되어 같은 오류가 발생함EISDIR: 디렉토리에서 잘못된 조작, 오류 시 읽기(네이티브)
어떤 디렉토리에 있는지, cmd.exe에서 "npm" 뒤에 무엇을 입력했는지에 관계없이 이 오류가 발생합니다.npm-debug.log는 다음과 같습니다.
0 info it worked if it ends with ok
1 verbose cli [ 'C:\\Program Files\\nodejs\\node.exe',
1 verbose cli 'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js' ]
2 info using npm@2.14.12
3 info using node@v4.2.6
4 verbose stack Error: EISDIR: illegal operation on a directory, read
4 verbose stack at Error (native)
5 verbose cwd C:\Users\me
6 error Windows_NT 6.1.7601
7 error argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js"
8 error node v4.2.6
9 error npm v2.14.12
10 error code EISDIR
11 error errno -4068
12 error syscall read
13 error eisdir EISDIR: illegal operation on a directory, read
13 error eisdir This is most likely not a problem with npm itself
13 error eisdir and is related to npm not being able to find a package.json in
13 error eisdir a package you are trying to install.
14 verbose exit [ -4068, true ]
nodejs를 여러 번 제거/재설치하려고 했지만 C:에서 npm 및 npm-cache 폴더도 삭제했습니다.\Users\me\AppData\로밍.뭐가 잘못됐는지 모르겠어요한때는 정상적으로 동작했지만, 지금은 이 에러를 없앨 수 없습니다.로그의 설명은, 어느 디렉토리에서도 이 에러를 나타내기 때문에, 의미가 없습니다.관리자 권한으로 명령 프롬프트를 실행하면 이 오류가 발생하지 않습니다.이번 주 금요일 저녁에 머리를 뽑으려고 하는데, 어떤 도움이라도 주시면 감사하겠습니다!
EISDIR은 "Error, Is Directory"를 나타냅니다.이것은, NPM이 파일에 대해서 무언가를 실행하려고 하고 있지만, 그것은 디렉토리인 것을 의미합니다.이 경우, NPM은 디렉토리(Line: 4)의 파일을 「읽기」하려고 합니다.작업을 수행할 수 없으므로 오류가 발생합니다.
여기서 확인해야 할 세 가지가 있습니다.
- 파일이 존재하는지 확인합니다.그렇지 않은 경우 생성해야 합니다(NPM이 파일 내의 특정 정보에 의존하는 경우 해당 정보가 있어야 합니다).
- 실제로는 디렉토리가 아닌 파일인지 확인합니다.
- 올바른 권한이 있습니다."sudo chmod 777 FILE_NAME"을 사용하여 모든 권한을 갖도록 파일을 변경할 수 있습니다(주의:해당 파일의 모든 사용자에게 읽기, 쓰기 및 실행 권한을 부여합니다.)
설정을 같은 했습니다.npm 정정 。는 한 했다.npm config set
를 참조하는 되어 있습니다.C:\Users\{User}\.npmrc
에서 그 행을 후.npmrc
는 해결되었다
내 경우 .angular-cli.json 파일에서 "스크립트:"에 풀 경로를 제공하지 않았기 때문에 "EISDIR: 디렉토리에서의 불법 운영, 읽기"를 받았습니다.
예를 들어, 나는
"scripts": [
"../node_modules/hammerjs",
"../node_modules/moment"
],
사실, 그건 그렇게 했어야 했다.
"scripts": [
"../node_modules/hammerjs/hammer.min.js",
"../node_modules/moment/min/moment.min.js"
],
npm을 버전 6.4.1에서 버전 6.5.0으로 업그레이드한 후에도 동일한 문제가 발생하였습니다.node.js에서 .pkg instra(대부분 사용자에게 권장)를 다운로드하여 실행하였습니다.
Mac OS X(homebrew가 설치되어 있음)에서도 동일한 문제가 발생했으며 .npmrc만이 설정 변수를 저장한 것은 아닙니다./usr/local/etc에는 다음 명령을 사용하여 편집해야 하는 global npmrc 설정 파일이 있습니다.
sudo nano npmrc
를제 remove remove remove를 remove remove 를 remove 。ca=
다시 합니다. 의 Configuration이 동작하고을 확인할 수 있습니다.
최근 OSX 머신에서 이상한 오류가 발생했습니다.
나는 달리기를 통해 빠르고 더러운 방법을 스스로 찾을 수 있었다.
sudo chmod -R 777 /usr/local/lib/node_modules/
어떤 것이 모든 글로벌노드 모듈의 접근권을 망친 것 같습니다.
잘못된 경로를 사용하고 있었기 때문에 파일 경로여야 했지만 디렉토리 경로를 잘못 사용하고 있었습니다.
변경 사항:
path.resolve(__dirname, '../');
이 경우:
path.resolve(__dirname, '../.env')
그래서 대부분의 답변은 .npmrc 파일과 관련이 있다고 합니다.
제 경우, 서버리스 애플리케이션을 도입하고 있었습니다.serverless deploy
(「」)
EISDIR: illegal operation on a directory, unlink '/home/malvadao/workspace/project/.build/node_modules'
던져지고 있었다.
.build 폴더를 삭제하면 됩니다.이것은 Typescript 컴파일 후에 생성된 폴더입니다.폴더는 실행 후 다시 생성되므로serverless deploy
이 명령어는 문제를 해결하고 흐름을 이어가기에 충분했습니다.
즉, 폴더를 수동으로 삭제하면 .npmrc를 터치할 필요 없이 앞으로 나아갈 수 있습니다.
React Native (Respect Native).react-native start --reset-cache
.
나에게 수정은 디렉토리 이름 뒤에 슬래시를 추가하는 것이었다.
node_modules(및 루트 package.json)에 npm의 "package.json" 모듈에 대한 참조가 포함되어 있지 않은지 확인합니다.패키지를 삭제하는 중입니다.node_modules의 json FOLDER가 문제를 해결했습니다.
c:users>'username'에서 .npmrc 폴더를 삭제하고 명령어를 실행하면 해결됩니다.
패스의 삭제나 재인스톨을 포함한 완전한 언인스톨을 실시하면, 문제는 해결이 되었습니다만, 매우 이상한 문제입니다.
node.js를 Windows에서 완전히 삭제하는 방법
나 꿀꺽꿀꺽 이랬어.문제는 gulp이 소스 파일에 종속성을 추가했기 때문에 npm이 파일을 열려고 했던 것 같습니다.
{
"name": "name",
"version": "2.0.0",
"description": "",
"main": "gulpfile.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"devDependencies": {
"appname": "file://gulp",
"gulp-concat": "^2.6.1",
"gulp-electron": "^0.1.3",
"gulp-shell": "^0.5.2",
"gulp-uglify": "^2.0.0",
"gulp-util": "^3.0.7",
"node-7z": "^0.4.0"
}
}
패키지에 이상한 레퍼런스가 없는 것을 확인해 주세요.json 파일.
npm install이 적절한 디렉토리에서 실행되고 있는지 확인합니다.
(패키지.예를 들어, json 파일은 1개의 추가 디렉토리 다운일 수 있습니다.)
.git 폴더를 삭제하기 전까지 같은 문제가 발생하였습니다.됐다.이런 종류의 문제에는 여러 가지 원인이 있을 수 있을 것 같아요.
제 경우, 요청 파일 중 하나의 전체 경로를 통과하는 것을 잊었습니다.파일의 풀 패스를 통과하면, 다음과 같이 동작했습니다.
제 경우 설치 중에 이 문제가 발생했습니다.create-react-app
MAC (Mojave OS)
다음 명령어를 사용합니다.
sudo npm install create-react-app -g
다음과 같은 오류가 발생하였습니다.
npm WARN tar EISDIR: illegal operation on a directory, open '/usr/local/lib/node_modules/.staging/rxjs-a84420a7/src/scheduler'
npm WARN tar EISDIR: illegal operation on a directory, open '/usr/local/lib/node_modules/.staging/rxjs-a84420a7/src/symbol'
npm WARN tar EISDIR: illegal operation on a directory, open '/usr/local/lib/node_modules/.staging/rxjs-a84420a7/src/testing'
npm WARN tar EISDIR: illegal operation on a directory, open '/usr/local/lib/node_modules/.staging/rxjs-a84420a7/src/util'
npm WARN tar EISDIR: illegal operation on a directory, open '/usr/local/lib/node_modules/.staging/rxjs-a84420a7/src/webSocket'
npm WARN tar EISDIR: illegal operation on a directory, open '/usr/local/lib/node_modules/.staging/rxjs-a84420a7/symbol'
npm WARN tar EISDIR: illegal operation on a directory, open '/usr/local/lib/node_modules/.staging/rxjs-a84420a7/testing'
npm WARN tar EISDIR: illegal operation on a directory, open '/usr/local/lib/node_modules/.staging/rxjs-a84420a7/util'
npm WARN tar EISDIR: illegal operation on a directory, open '/usr/local/lib/node_modules/.staging/rxjs-a84420a7/webSocket'
npm.community를 읽어본 적이 있습니다.sudo
:
npm install create-react-app -g
그리고 그것이 실제로 나의 문제를 해결했다.
저도 같은 문제가 있었어요.
최근에 사용자 디렉토리에서 .npmrc 파일을 삭제한 후 npm init -y를 실행했습니다.
동작!
제 경우는, 그 스크립트가 디렉토리로 동작할 수 있다고 상정하고 있습니다만, FILE PATH 를 대기하고 있기 때문에, full path 를 file 로 설정해 주세요.
내 경우:
['/var/task/myFolder']
단, 올바른 경로는 다음과 같습니다.
['/var/task/myFolder/sample.tgs']
서버리스에서 Puppeteer 내부의 크롬 사용 관련 프로젝트는 lambda였습니다.호프, 도움이 되네
보일러 플레이트 코드를 설정할 때도 비슷한 문제가 있었습니다.내 bundle.js 파일을 디렉토리로 읽고 있었다.여기 기재된 바와 같이.EISDIR은 파일이 아닌 디렉토리입니다.이 문제를 해결하기 위해 파일을 삭제하고 다시 만들었습니다(원래는 자동으로 작성되었습니다).파일을 찾을 수 없는 경우(숨겨져 있기 때문에), 단말기를 사용하여 파일을 찾아 삭제합니다.
저도 같은 문제가 있었어요.내 디렉토리에 링크된 폴더가 있어서 문제가 발생하였습니다.목록을 무시하기 위해 폴더를 추가했고 예상대로 정상적으로 작동하기 시작했습니다.
'영원히'에 대해 묻는 게 아니란 거 알아구글이 여기로 안내해주니까..나에게 그것은 끝의 슬래시처럼 간단했다.
방금 바꿨어요.
forever start -a -l /dev/null/ /var/www/node/my_file.js
수신인:
forever start -a -l /dev/null /var/www/node/my_file.js
그리고 오류는 사라졌습니다.
npm 버전 및 문제가 없는지 확인하십시오.이 투고를 했을 때도 같은 문제가 있었습니다만, 제 npm 버전(6.5)에 문제가 있는 것을 알았습니다.npm version 6.4.1을 제거하고 재설치해야 했습니다.그 후 모든 것이 정상적으로 동작하기 시작했습니다.
하위 폴더의 node_modules에 대한 심볼 링크가 끊어졌습니다.
제 경우 Windows 10을 스페인어로 사용하고 있으며 이 버전은 영어와 스페인어 디렉토리 이름을 혼합하고 있습니다.가 일부 및 명령어에 이 있다는 입니다.escritorio
다른 사람에게.나는 npm이 이것을 해결할 수 없다고 생각한다.해결방법은 단순히 C:\부터 시작하는 다른 디렉토리로 변경하는 것이었습니다.
나도 비슷한 문제에 직면했었다.다음 명령을 사용하여 cafile을 설정합니다.
npm config set cafile PATH_TO_CERTIFICATE
증명서 파일 설정을 삭제하고 설정을 함으로써, 이 문제를 해결할 수 있었습니다.strict-ssl = false
.
심볼링크를 지원하지 않는 exFAT 드라이브에서 디렉토리를 이동하여 이 문제를 해결했습니다.
exFat 드라이브는 osx와 부트캠프 윈도 파티션 간에 공유되기 때문에 복제 및 npm 설치를 시도했을 때 실패했지만 exFAT가 이 기능을 지원하지 않는 것은 설명되지 않았습니다.
Symblink 기능을 추가하기 위해 설치할 수 있는 드라이버가 있지만 간단한 npm 스크립트를 실행하는 것에 비해 많은 셋업을 수동으로 수행해야 합니다.
Mac OS의 경우:nodejs 웹사이트에서 직접 설치하는 경우 npmrc 파일은 /usr/local/etc/npmrc에 있습니다.정의되지 않은 설정을 삭제하기만 하면 이 문제가 해결됩니다.
저 같은 경우에는C:\Users\{user}\AppData\local\npm
파일이 숨겨져 있기 때문에 문제 디렉토리를 찾아 삭제할 수 없었습니다.이걸 깨닫는데 며칠이 걸렸어!
폴더를 놓치지 않도록 숨기려면 두 번 확인하세요!방법을 모를 경우 이 작업을 수행할 수 있는 링크가 있습니다.
언급URL : https://stackoverflow.com/questions/34959038/npm-stuck-giving-the-same-error-eisdir-illegal-operation-on-a-directory-read-a
'programing' 카테고리의 다른 글
sudo를 사용하여 쓰기 권한이 없는 위치로 출력을 리디렉션하려면 어떻게 해야 합니까? (0) | 2023.04.15 |
---|---|
Xcode의 숨겨진 특징 (0) | 2023.04.15 |
@import vs #import - iOS 7 (0) | 2023.04.15 |
WPF 응용 프로그램의 전체 화면 (0) | 2023.04.15 |
Initialize Component()는 무엇을 하며 WPF에서는 어떻게 동작합니까? (0) | 2023.04.15 |