npm install -g gulp를 설치 한 후에도 로컬 gulp 설치를 찾을 수 없습니다.


88

나는 꿀꺽 꿀꺽 꿀꺽 설치하려고

npm install -g gulp

출력은 다음과 같은 것 같습니다. (일부 로그를 건너 뛰었습니다)

npm http 304 https://registry.npmjs.org/string_decoder
npm http 304 https://registry.npmjs.org/lodash._htmlescapes
/usr/bin/gulp -> /usr/lib/node_modules/gulp/bin/gulp.js
gulp@3.6.2 /usr/lib/node_modules/gulp
├── tildify@0.2.0
├── pretty-hrtime@0.2.1
├── deprecated@0.0.1
├── archy@0.0.2
├── semver@2.2.1
├── chalk@0.4.0 (has-color@0.1.7, ansi-styles@1.0.0, strip-ansi@0.1.1)
├── orchestrator@0.3.3 (sequencify@0.0.7)
├── liftoff@0.9.8 (extend@1.2.1, minimist@0.0.8, resolve@0.6.3, findup-sync@0.1.3)
├── vinyl-fs@0.1.4 (graceful-fs@2.0.3, map-stream@0.1.0, mkdirp@0.3.5, vinyl@0.2.3, glob-stream@3.1.9, glob-watcher@0.0.6)
└── gulp-util@2.2.14 (lodash._reinterpolate@2.4.1, dateformat@1.0.7-1.2.3, minimist@0.0.8, vinyl@0.2.3, multipipe@0.0.2, through2@0.4.1, lodash.template@2.4.1)

위의 스크립트에서 나는 bin 폴더에 simulink를 만들고 있다고 생각하는 / usr / bin / gulp-> /usr/lib/node_modules/gulp/bin/gulp.js 줄을 볼 수 있습니다. 그래서 나는 전 세계적으로 꿀꺽 꿀꺽 마시고 있어야하지만이 오류가 발생합니다.

No local gulp install found in /var/www/ksapp

이 오류가 발생하는 이유를 알 수 있습니다.

감사

답변:


103

해당 문서에서 지적한 바와 같이 , 당신은 전 세계적으로 설치 (당신이 그했다)해야 하고 프로젝트 dev에 deps (로컬)에 추가 :

npm install gulp --save-dev

1
Gulp가 노드 파일을 프로젝트 로컬 폴더에 복사하지 못할 가능성이 있습니까? Gulp를 전역 적으로 설치하면이 명령은 내가 이해하는대로 로컬 복사본을 만듭니다.
Vladislav Rastrusny

요점은 로컬 설치가 시스템 설치가 업그레이드 된 경우에도 프로젝트 빌드가 중단되지 않도록 보장한다는 것입니다 (글로벌 gulp 설치는 경로에 바이너리 명령을 제공하기위한 것입니다). 이것은 grunt에 대한 동일한 상황입니다.
Mangled Deutz

12
나도 각 프로젝트 폴더에있는 노드 모듈의 전체 사본이 싫기 때문에 정기적으로npm link gulp --save-dev
PA를

1
좋지만 매개 변수 를 npm link gulp --save-dev존중 하지 않는 것 같습니다 --save-dev.
Derek Greer 2015 년

2
@PA는 다른 답변에 대한 의견을 다시 반복 npm link gulp하는 것은 나쁜 생각입니다.
sfarbota 2015

35

나는 같은 문제에 직면했다. 링크를 만들어 해결했습니다.

npm link gulp

8
다른 의견에서 언급했듯이 이것은 나쁜 생각입니다. gulp 또는 grunt와 같은 빌드 시스템은 특정 프로젝트가 특정 빌드 버전에 의존 할 수있는 방식으로 설계되었습니다 (따라서 글로벌 시스템의 상태 또는 설치된 버전에 관계없이 계속 빌드됩니다). 링크를 시도 함께 꿀꺽 꿀꺽의 글로벌 및 로컬 버전은 ... 발에서 자신을 촬영한다
맹 글링의 Deutz

@MangledDeutz 나는이 특정 프로젝트에 꿀꺽 꿀꺽 꿀꺽 마시고 묶는 데 관심이 없습니다. 일부 빌드 작업을 자동화하기위한 작은 명령 줄 도구로 사용하고 싶습니다. 내 gulpfile은 git 리포지토리의 일부가 아니며 실제로이 리포지토리를 다른 컴퓨터에서 복제하면 이러한 작업을 자동화하는 데 gulp를 사용하지 않기로 결정할 수 있으며 다른 도구를 사용할 수 있습니다. 나는 노드와 npm이 존재하지 않는 척하고 싶고 gulp는 CWD에서 gulpfile.js를 찾고 마술처럼 작동하는 / usr / bin의 작은 프로그램입니다. 그게 내가 원하는 전부라면이 대답이 합리적이지 않은가?
Jack M

@JackM 시스템 전체에 설치된 gulp의 버전에 따라 gulpfile.js와 함께 작동하거나 작동하지 않을 수 있습니다 (그리고 이유없이 "마 법적으로"중단됨) ...
Mangled Deutz

@MangledDeutz 그러나 파일을 입력으로 받아들이는 모든 명령 줄 프로그램에 해당됩니다.
Jack M

Yaaas! 이! 개발자가 글로벌 버전이 적합한 지 여부를 결정하도록합니다 !!
Peter Konga-Kamau

-2

/home/username/.npm 디렉토리를 확인하십시오. 파일의 그룹 / 소유자는 루트 일 수 있습니다. 사용자 이름으로 변경 :

chown -R username.username /home/username/.npm

-2

최근에 "Local gulp not found"오류 메시지가 나타납니다. 전역 node_modules 디렉토리에서 내 gulpfile.js가있는 로컬 프로젝트 디렉토리로 심볼릭 링크를 생성하여 지나칠 수있었습니다.


7
그런 다음 기본 시스템을 업그레이드 할 때 중단되지 않는 로컬에서 사용 가능한 빌드 시스템의 목적을 무력화합니다. 이것은 확실히 나쁜 생각이고 ... 저자의 의도에 카운터를 간다
맹 글링의 Deutz
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.