설치 후 Gulp 명령을 찾을 수 없음


97

나는 gulp (globally)를 설치했고 다음 코드를 실행했기 때문에 작동하는 것처럼 보입니다.

├── tildify@0.2.0
├── interpret@0.3.5
├── pretty-hrtime@0.2.1
├── deprecated@0.0.1
├── archy@0.0.2
├── minimist@0.2.0
├── semver@2.3.2
├── orchestrator@0.3.7 (stream-consume@0.1.0, sequencify@0.0.7, end-of-stream@0.1.5)
├── chalk@0.5.1 (escape-string-regexp@1.0.1, ansi-styles@1.1.0, supports-color@0.2.0, strip-ansi@0.3.0, has-ansi@0.1.0)
├── gulp-util@2.2.20 (lodash._reinterpolate@2.4.1, dateformat@1.0.8-1.2.3, vinyl@0.2.3, through2@0.5.1, multipipe@0.1.1, lodash.template@2.4.1)
├── liftoff@0.12.0 (extend@1.2.1, minimist@0.1.0, resolve@0.7.4, findup-sync@0.1.3)
└── vinyl-fs@0.3.5 (graceful-fs@3.0.2, lodash@2.4.1, mkdirp@0.5.0, strip-bom@0.3.1, vinyl@0.2.3, through2@0.5.1, glob-watcher@0.0.6, glob-stream@3.1.14)

하지만 내가 타이핑 gulp하면-bash: gulp: command not found

무슨 일인지 아십니까?


4
이 문제를 해결하기 위해 sudo install gulp -g. 일한
Mr_Green

10
Mr_Green 의미 : sudo npm install
gulp

답변:


174

npm이 잘못된 디렉토리에 설치되었으므로이 코드를 실행하여 "npm config prefix"를 변경해야했습니다.

npm config set prefix /usr/local

그런 다음 전역 적으로 (-g 매개 변수를 사용하여) gulp를 다시 설치했으며 제대로 작동했습니다.

이 기사에서 해결책을 찾은 곳 : http://webbb.be/blog/command-not-found-node-npm


2
감사! 내 문제도 해결했습니다 :)
rebellion

2
놀랄 만한. 감사합니다.
앤드류

2
또한이 솔루션은 나에게 도움이
세르게이 안드레에게

2
감사합니다. 그래서 이상한. 나는 그것을 맥북 1에 설치했다. 그것은 작동하고, 맥북 2는 작동하지 않는다. 그래서 나는 이것을해야한다. 미친.
axelvnk

2
왜 StackOverflow가 이것을 첫 번째 답변으로 표시하지 않는지 궁금합니다! 분명히 올바른 것입니다.
Anand Sainath 2018

58

질문이 왜 반대 투표인지 확실하지 않지만 동일한 문제가 있었고 블로그 게시물에 따라 문제 해결을 권장했습니다. 내가 추가해야 할 한 가지는 내 경우에 한 번 실행되었다는 것입니다.

npm config set prefix /usr/local

나는이 확인 npm root -g가리키는했다 /usr/local/lib/node_modules/npm, 그러나 설치하기 위해 gulp/usr/local/lib/node_modules, 내가 사용했다 sudo:

sudo npm install gulp -g


이 솔루션을 찾고있었습니다! 감사합니다! 사령부 : npm config set prefix /usr/local문제 해결!
north.inhale

21

당신이 사용하는 경우 tcsh(맥 OS X에 대한 내 기본 쉘 인), 당신은 아마 입력해야 rehash바로 설치 완료 후 껍질로 :

npm install -g gulp

바로 뒤에 :

rehash

그렇지 않으면을 처음 설치하는 gulp경우 셸이 새 실행 파일이 설치된 것을 인식하지 못할 수 있으므로 새 셸을 시작하거나 rehash현재 셸을 입력해야합니다 .

(기본적으로 전역 적으로 설치하는 각 명령에 대해 한 번만 수행됩니다.)


17

나는 이것이 오래된 스레드라는 것을 알고 있지만 Future-Me와 후손을 위해 "running npm as sudo"토론에 2 센트를 추가해야한다고 생각했습니다. 면책 조항 : Windows를 사용하지 않습니다. 이러한 단계는 Windows가 아닌 컴퓨터 (가상 및 물리적)에서만 입증되었습니다.

권한을 npm의 기본 디렉토리로 변경하면 sudo를 사용할 필요가 없습니다.


방법 :없이 npm을 실행하기 위해 권한 변경 sudo

1 단계 : npm의 기본 디렉토리가 어디에 있는지 확인합니다.

  • 이렇게하려면 터미널을 열고 다음을 실행하십시오.
    npm config get prefix

2 단계 : 해당 명령의 출력에 따라 진행합니다.

  • 시나리오 1 : npm의 기본 디렉토리는 /usr/local
    대부분의 사용자에게 npm의 기본 디렉토리가 / usr / local로 표시됩니다.이 경우 4 단계로 건너 뛰어 디렉토리에 대한 권한을 업데이트 할 수 있습니다.
  • 시나리오 2 : npm의 기본 디렉토리는 /usror /Users/YOURUSERNAME/node_modulesor /Something/Else/FishyLooking
    입니다. npm의 기본 디렉토리가 / usr / local이 아니라 설명 할 수 없거나 이상해 보이는 경우 3 단계로 이동하여 npm의 기본 디렉토리를 변경해야합니다. 또는 훨씬 더 큰 규모로 권한엉망으로 만들 위험이 있습니다 .

3 단계 : npm의 기본 디렉토리 변경 :

  • 전역 설치를 위해 특별히 디렉토리를 만든 다음 해당 디렉토리를 $ PATH에 추가하는 등 몇 가지 방법이 있지만 / usr / local이 이미 경로에 있으므로 npm을 변경하는 것이 더 간단하다고 생각합니다. 기본 디렉토리입니다. 이렇게 : npm config set prefix /usr/local
    • 내가 언급 한 다른 접근 방식에 대한 자세한 내용은 여기 에서 npm 문서를 참조 하세요 .

4 단계 : npm의 기본 디렉터리에 대한 권한을 업데이트합니다.

  • npm의 기본 디렉토리가 적절한 위치에 있음을 확인한 후 다음 명령을 사용하여 권한을 업데이트 할 수 있습니다.
    sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}

지금 당신은 실행할 수 있어야 npm <whatever>하지 sudo. 참고 : 이러한 변경 사항을 적용하려면 터미널을 다시 시작해야 할 수 있습니다.


7

비슷한 문제가 있었는데 다음 단계를 수행했는데 작동했습니다 .Mac 터미널로 이동하여 명령을 실행하십시오.

1. npm 구성 세트 접두사 / usr / local

2. sudo chown -R $ (whoami) $ (npm config get prefix) / {lib / node_modules, bin, share}

이 두 명령은 npm 경로를 올바르게 설정하므로 더 이상 npm에서 sudo를 사용할 필요가 없습니다. 다음 꿀꺽 꿀꺽 꿀꺽 제거

  1. npm 제거 gulp

  2. sudo없이 다시 gulp 설치, npm install gulp -g

작동합니다 !!


4

설치 후 "명령을 찾을 수 없음"이 발생하는 문제가 있었지만 위의 솔루션에서 설명한대로 / usr / local에 설치되었습니다.

내 문제는 내가 sudo로 설치를 실행했기 때문에 발생한 것 같습니다. 나는 다음을했다.

  1. sudo로 꿀꺽 꿀꺽 다시 제거하기
  2. / usr / local / lib / node_modules의 소유자를 내 사용자로 변경
  3. sudo없이 gulp를 다시 설치합니다. "npm install gulp -g"

1
내가 sudo를 사용하여 로컬에 아무것도 설치할 필요가없고 왜 sudo를 사용해야 하는가가 더 현명 해 보입니다. sudo를 사용하기 시작하면 명령 줄을 sudo로 실행하지 않으면 문제가 발생합니다. 사용자의 일상적인 개발. 나는 당신의 방식이 훨씬 더 정확하다고 생각하는 경향이 있습니다-sudo는 현재로서는 고쳐지는 것처럼 보이지만 항상 최선의 대답은 아닙니다.
도착

3

이 작업을 수행해야합니다 npm install --global gulp. 그것은 나를 위해 작동하고 나는 또한이 문제가 있었다. 이 패키지를 전역 적으로 설치하지 않았기 때문입니다.


3

Mac 을 사용하는 경우 루트 권한을 사용하십시오.

sudo npm install gulp-cli --global

설치되었는지 확인하려면 다음을 실행하십시오.

gulp -v

CLI 버전 : 2.2.0 (출력)

로컬 버전 : 알 수 없음


1

위와 다른 곳의 답변을 조합하여 Win10에서 작업했습니다. 다른 사람들과 미래를 위해 여기에 게시합니다.

https://gulpjs.com/docs/en/getting-started/quick-start 의 지침을 따랐 지만 gulp --version 입력 후 마지막 단계에서 -bash : gulp : command not found 메시지가 나타납니다.

이 문제를 해결하려면 :

  1. % AppData % \ npm을 내 Path 환경 변수에 추가했습니다.
  2. 모든 gitbash (cmd, powershell 등)를 닫고 gitbash를 다시 시작했습니다.
  3. 그런 다음 gulp --version이 작동했습니다.

또한 gulp를 전역 적으로 설치하지 않는 이유와 제거하는 방법에 대해 아래를 찾았습니다 (권장 사항인지 확실하지 않음).

gulp- "cli"는 무엇을 의미합니까?

전역 적으로 NPM에서 Gulp CLI를 제거하는 방법은 무엇입니까?


0

내 경우 추가에 sudo는 NPM 해결 설치하기 전에 꿀꺽 명령을 찾을 수없는 문제

sudo npm install


0

접두사를 그대로 유지하려면 bin dir을 PATH 변수로 내보내십시오.
export PATH=$HOME/your-path/bin:$PATH
이 줄을 $ HOME / .profile에 추가하고 소스를 얻었습니다.

접두사를로 설정 /usr/local하면을 사용하게 sudo되므로 사용자 디렉터리에 포함하고 싶습니다. 접두사를 npm prefix -g.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.