2017-11-06 1 views
2

저는 CLI 도구로 Node를 사용하여 차후 출시 예정인 오픈 소스 프로젝트를 개발해 왔습니다. CLI 자체는 훌륭하게 작동합니다. 다른 프로젝트에서 작동하는지 테스트해야하기 때문에 프로젝트를 전 세계에 설치했는데 오류없이 npm install -g을 설치했습니다.하지만 내 인생에서 CLI를 사용할 수는 없습니다.내 자신의 npm 패키지를 설치할 수 없습니다.

나는 다음과 같은 오류가 발생합니다 :

node command not working

이상한 점은 디렉토리와 파일이 글로벌 NPM 폴더에 존재한다는 것입니다 :

directory exists

이 프로젝트의 package.json입니다 :

package.json

npm/node CLI를 만드는 방법을 이해하지 못합니까? 내가 뭘 놓치고있어?

편집 1 :

이 내하는 index.js 파일입니다

index.js file

그리고 이것은 commander.js 파일입니다
command.js file

편집 2 :

@AngYC로 테스트 프로젝트를 만든 후 테스트 클립을 성공적으로 사용할 수 있었지만 차이점을 확인하면서 테스트를 진행했습니다. C:\Users\Ivan\AppData\Roaming\npm 내부 두 프로젝트의 .CMD는 매우 다르다 :

enter image description here

EDIT 3 (솔루션) :

내가 발견 주위 하구 후 그 정말 오두막을 필요로하는 파일 (#!/usr/bin/env node) 파일은 index.js이고 파일명은 commander.js이 아닙니다. 해당 파일에서이 파일을 제거하면 문제가 해결됩니다.

+0

** 편집 : ** PATH 환경 변수를 설정해야 할 수도 있습니다. https://stackoverflow.com/questions/29955217/global-npm-package-installed-but-command-not-found – AngYC

+0

이미 npm이 있습니다. 그 경로가 그렇게, 아니지만, 어쨌든, 여전히 동일 시도 :/ –

+0

나는 아마도이 아니지만 어쩌면'./index.js' 대신에'index.js'를 당신의'bin' 매핑을 위해 시도 했는가? – nem035

답변

1

로컬 패키지를 글로벌 실행 파일 목록에 link 시도해보십시오. 당신이해야 할 모든 폴더에 npm link 실행

https://docs.npmjs.com/cli/link

당신은 당신의 도구를 가지고 있으며 전 세계적으로 명령을 사용할 수 있도록해야한다.

+0

이'npm link'를 검사하면서 발견 한 업데이트를 게시 할 예정입니다 ** 수정되지 않았습니다 ** 결과가 변경됩니다 –

+0

그래서 효과가있었습니다 ? 그랬다면 정답으로 표시하는 것을 고려해보십시오. – Dominik

+0

OMG 미안하지만 오타 ** ** –

0

cli 실행 npm rm -g cli 또는 sudo npm rm -g cli을 제거해보십시오. 그렇다면 다음을 실행하십시오. npm install cli -g

문제가 지속되면 npm 패키지를 전 세계적으로 제거해야 할 수 있습니다. 충돌하는 항목이있을 수 있습니다.

%appdata% (탐색기, 실행 프롬프트 또는 시작 메뉴에 있음)을 입력하십시오.

당신은 단순히의 내용을 삭제하여 모든 전 세계적으로 설치 NPM 패키지를 제거 할 수 있습니다

C:\Users\username\AppData\Roaming\npm

그런 다음 당신은 또한 경우가있을 수 있습니다로 모든 캐시 실행 npm cache clear 또는 npm cache clear --force을 취소 할 수 있습니다.

그런 다음 다시 설치 한 모든 패키지를 다시 설치하십시오. 문제가 계속 지속되면

,이를 확인 : 당신이 npm root -g을 실행하면

, 그것은 심지어 C:\Users\<username>\AppData\Roaming\npm\node_modules를 산출하거나, 당신이 당신의 경로를 확인해야 어쩌면 실행 바이너리와 .cmd 파일 대신 C:\Users\<username>\AppData\Roaming\npm\node_modulesC:\Users\<username>\AppData\Roaming\npm에 결국, 당신은 것입니다 경로를 PATH 환경에 추가해야합니다. 변하기 쉬운.

이 문제가 해결 되었기를 바랍니다.

관련 문제