gulp-cli를 설치해야한다고 생각합니다.

gulp-cli를 설치해야한다고 생각합니다.

2022-10-05 last update

6 minutes reading npm gulp
프로젝트에서 Gulp를 사용하려면 전역적으로 gulp-cli, 프로젝트 로컬에 gulp를 넣어야하며 다음 두 가지 명령을 사용합니다.
$ npm install gulp-cli -g
$ npm install gulp --save-dev

여기에 아저씨는 의문을 물어 버렸습니다.

글로벌하게 설치해도 괜찮습니까?



맞습니다. 문제는 npm install gulp-cli -g입니다. 앞의 방법은 Gulp 공식이 추천하고 있는 방법이며, 「gulp 입문」이라고 검색하면 같은 방법을 소개하고 있는 기사가 많이 히트하기 때문에 일반적인 방법인 것은 틀림없습니다. 하지만 이 방법은 금기를 저지른다.

무엇이 금기인가?


-g를 사용하여 설치하는 npm 모듈은 개별 프로젝트가 의존하지 않는 희소 한 상태 여야한다고 생각합니다. 보다 구체적으로 말하면 로컬 모듈을 실행하기 위해 글로벌 모듈을 실행하는 것이 문제라고 할 수 있습니다. 이것은 npm 모듈 모두에게 말할 수 있다고 생각합니다.

어떤 문제가 발생합니까?


gulp-cli를 전역으로 설치하면 동일한 프로젝트에서도 개발자가 gulp-cli 버전이 다를 수 있습니다. gulp-cli (은)는 복수의 버젼에 대응할 수 있는 만들기가 되어 있지만, 정말로 큰 사양 변경이 없다고는 단언할 수 없습니다. 그렇게 되면 지금까지 정상적으로 동작하고 있던 프로젝트도 움직이지 않을 수 있습니다.

그럼 어떻게 하면 돼?


gulp-cli 설치를 중지합니다. gulp-cli의 주요 기능은 node_modules 아래의 gulp 명령으로 경로를 통과하는 것입니다. 그런 일은 일부러gulp-cli를 경유하지 않고도, 원래 npm-scripts가 같은 일을 해 주고 있지 않습니까.

gulpfile.js
var gulp = require('gulp');

gulp.task('hoge', function() {
  console.info('ほげほげ!!');
});

예를 들어, gulpfile.js가 있다면,

package.json
{
  "scripts": {
    "hoge": "gulp hoge"
  }
}

이런 식으로 npm-scripts를 추가하면 gulpfile.js에 작성된 hoge 작업을 실행할 수 있습니다.
$ npm run hoge
// => "ほげほげ!!"

이제 프로젝트가 글로벌을 저지르지 않는 희소한 구조가 완성되었습니다! 했어

npm-scripts의 자세한 사용법에 대해서는 「Node.js 사용자라면 누르고 싶은 npm-scripts 작업 실행 방법 요약」에서 해설하고 있으므로 참고해 주십시오.

마지막으로



라고는 말했지만 소수파의 의견이므로 Gulp의 공식에 굴복하지 않을 수 없는 상황이 많다고 생각합니다. 꼭 여러분의 프라이빗한 프로젝트로 시험해 보세요.