>
증상 :

전 세계적으로 설치되지 않은 npm 패키지를 직접 실행할 수 없습니다. 하지만 npm scripts 로 실행할 수 있습니다. . 수정하는 방법?

예 : gulp 를 설치했습니다  프로젝트에서 :

npm install gulp --save-dev

그런 다음

gulp
zsh: command not found: gulp

하지만 npm script 를 추가하면   package.json 로 :

 "scripts": {
    "test": "mocha --require intelli-espower-loader && gulp test",
    "start": "gulp"
  },

그런 다음

npm start

문제없이 실행할 수 있습니다.

P.S. mocha 와 같은 문제  패키지, mocha 를 실행할 수 없습니다  직접하지만 난 npm test 를 실행할 수 있습니다  문제 없습니다.

도움말 :

이 문제를 해결하기 위해 무엇을 할 수 있습니까?

알림 :

전 세계에서 실행하고 싶다고 말하는 것이 아니라 프로젝트에서 실행하고 싶습니다.

어떻게 잘못되었는지 모르겠지만, 오래 전에 실행 가능하고 최근에는 작동하지 않습니다!

  • 답변 # 1

    @Ion의 답변 외에도 환경 변수에 경로를 추가해야 할 수도 있습니다. Windows OS에서는 %AppData%\npm 입니다. . 로컬로 설치된 패키지의 경우

    와 같이 실행할 수 있어야합니다.

    .\node_modules\.bin\gulp

  • 답변 # 2

    -g 를 사용하여 전체적으로 설치하려면  깃발

    npm install gulp -g

    직접 실행하려면 ./node_modules/.bin/gulp 를 수행해도됩니다

  • 답변 # 3

    전역으로 설치되지 않은 패키지는 루트 node_modules 폴더에 참조를 생성하지 않기 때문입니다. 로컬로 설치된 버전을 사용하여 터미널에서 전역으로 실행하려면 환경 변수로 이동하여 경로를 ./node_modules/gulp/bin/gulp.js 로 설정하십시오.  또는 대안으로 언급 된 위치를 꿀꺽 꿀꺽으로 사용하고 nyzwyz를 실행하도록 npm을 구성하십시오.

  • 답변 # 4

    두 가지 선택이 있습니다 :

    <올>

    전역으로 실행 가능 모듈 설치 :

    node_modules/.bin/gulp
    
    

    여러 프로젝트에서 자주 사용하는 도구 인 경우에 유용합니다. npm install -g gulp  특히, 세계적으로 설치된 꿀꺽 꿀꺽 꿀꺽도 프로젝트 자체 gulp 가 있는지 확인합니다  node_modules에 설치하고 해당 버전의 gulp 를 실행하십시오. . 즉, 각 프로젝트는 자체 버전의 gulp 를 가질 수 있습니다. . 그러나 모든 도구에이 기능이있는 것은 아닙니다.

    gulp 사용 :

    npx
    
    
    npx gulp 의 최신 버전   npm 라는 명령과 함께 제공  프로젝트의 node_modules 디렉토리를 검색하여 실행할 모듈을 찾습니다. 즉, 프로젝트 특정 도구를 전체적으로 설치할 필요가 없습니다. 보안 문제 일 수도 있고 아닐 수도있는 명령의 전역 설치를 피하는 것 외에도 프로젝트 특정 버전의 도구를 설치할 수도 있습니다.

    npm 설치에 npx가없는 경우 npm 자체에서 설치할 수 있습니다 :

    npx
    
    

    npm install -g npx

관련 자료

  • 이전 Flutter에서 PopupMenuItem의 배경색을 변경하는 방법
  • 다음 FTP로 파일을 업로드하기 위해 Azure 파이프 라인 애플리케이션 게시 출력 폴더를 찾거나 추가하는 방법