[node.js] 노드 패키지 (Grunt)가 설치되었지만 사용할 수 없음
을 사용하여 github jquery-ui 라이브러리 를 작성 하려고 grunt
하지만 실행 후에도 readme 파일npm install
에 따라 명령을 실행할 수 없습니다 . 그냥 제공합니다 :No command 'grunt' found
james@ubuntu:~/Documents/projects/ad2/lib/jquery-ui$ grunt build
No command 'grunt' found, did you mean:
Command 'grun' from package 'grun' (universe)
grunt: command not found
james@ubuntu:~/Documents/projects/ad2/lib/jquery-ui$ npm ls
jquery-ui@1.9.0pre /home/james/Documents/projects/ad2/lib/jquery-ui
├─┬ grunt@0.3.9
│ ├── async@0.1.18
│ ├── colors@0.6.0-1
│ ├─┬ connect@1.8.7
│ │ ├── formidable@1.0.9
│ │ ├── mime@1.2.5
│ │ └── qs@0.5.0
│ ├── dateformat@1.0.2-1.2.3
│ ├─┬ glob-whatev@0.1.6
│ │ └─┬ minimatch@0.2.4
│ │ └── lru-cache@1.0.6
│ ├─┬ gzip-js@0.3.1
│ │ ├── crc32@0.2.2
│ │ └── deflate-js@0.2.2
│ ├── hooker@0.2.3
│ ├─┬ jshint@0.5.9
│ │ ├── argsparser@0.0.6
│ │ └─┬ minimatch@0.2.4
│ │ └── lru-cache@1.0.6
│ ├─┬ nodeunit@0.6.4
│ │ ├── tap-assert@0.0.10
│ │ └─┬ tap-producer@0.0.1
│ │ ├── inherits@1.0.0
│ │ ├── tap-results@0.0.2
│ │ └── yamlish@0.0.5
│ ├─┬ nopt@1.0.10
│ │ └── abbrev@1.0.3
│ ├─┬ prompt@0.1.12
│ │ ├── pkginfo@0.2.3
│ │ └─┬ winston@0.5.11
│ │ ├── eyes@0.1.7
│ │ ├─┬ loggly@0.3.11
│ │ │ └── timespan@2.2.0
│ │ └── stack-trace@0.0.6
│ ├── semver@1.0.13
│ ├─┬ temporary@0.0.2
│ │ └── package@1.0.0
│ ├── uglify-js@1.0.7
│ ├── underscore@1.2.4
│ └── underscore.string@2.1.1
├── grunt-compare-size@0.1.4
├─┬ grunt-css@0.2.0
│ ├── csslint@0.9.8
│ └── sqwish@0.2.0
├── grunt-html@0.1.1
├── request@2.9.153
├─┬ rimraf@2.0.1
│ └── graceful-fs@1.1.8
└─┬ testswarm@0.2.2
└── request@2.9.202
혼란 스럽지만 무엇을 놓치고 있습니까?
답변
명령 행 도구는 최신 버전의 Grunt (작성시 0.4)에 포함되어 있지 않으며 별도로 설치해야합니다.
이것은 다른 프로젝트에서 다른 버전의 Grunt grunt
를 실행할 수 있지만 여전히 멋진 간결한 명령을 사용하여 실행할 수 있기 때문에 좋습니다 .
먼저 전 세계적으로 grunt cli 도구를 설치하십시오.
npm install -g grunt-cli
(또는 가능 sudo npm install -g grunt-cli
)
입력하여 작동하는지 확인할 수 있습니다 grunt --version
이제 프로젝트에 로컬 버전의 Grunt를 설치할 수 있습니다. 프로젝트의 위치에서 …
npm install grunt --save-dev
save-dev
스위치는 꼭 필요한 것은 있지만 개발에만 모듈로의 package.json의 devDependencies 섹션에서 꿀꿀을 표시하기 때문에 좋은 아이디어이다.
답변
추가 /usr/local/share/npm/bin/
로$PATH
답변
실행 npm install -g grunt
하여 Grunt 패키지를 설치했는데 여전히 No command 'grunt' found
또는 라고 말하면 grunt: command not found
,이 작업을 수행하는 빠르고 더러운 방법은 노드 바이너리를 $ PATH에 수동으로 연결하는 것입니다.
MacOSX / Linux에서는이 줄을 사용자 ~/.bash_profile
또는 ~/.bashrc
파일에 추가 할 수 있습니다 .
PATH=$PATH:/usr/local/Cellar/node/HEAD/bin # Add NPM binaries
/usr/local/Cellar/node/HEAD/bin
노드 바이너리를 찾을 수있는 경로로 바꿔야 할 것입니다.
이것이 나에게 빠르고 더러운 경우 모든 것이 이것을하지 않고 작동해야하기 때문이지만 알 수없는 이유로 링크가 끊어진 것처럼 보입니다. IRC에 아무도 이것이 왜 이런 일이 일어 났는지 말해 줄 수 없었기 때문에, 나는 그것을 작동시킬 수있는 나만의 방법을 찾았다.
추신 : 이것은 grunt 작품을 만드는 데 도움이됩니다.이 답변은 jquery-ui와 관련이 없습니다.
02/2013 업데이트 : 무슨 일이 일어나고 있는지 더 잘 설명하는 @ tom-p의 답변 을 살펴보십시오 . Tom은 bashrc 파일을 해킹하는 대신 실제 솔루션을 제공합니다. 둘 다 작동하지만 먼저 설치를 시도해야합니다grunt-cli
.
답변
제 경우에는 1 행에서 / usr / local / bin / grunt 파일을 수정해야합니다 (이것을 만들지 마십시오).
#!/usr/bin/env node //remove this line
#!/usr/bin/env nodejs // and put this line to run with nodejs
편집 :
많은 다른 프로그램들이 여전히 “node”명령을 사용하기 때문에 문제를 피하기 위해 “node”라는 이름의 링크를 만들었습니다.
sudo ln -s /usr/bin/nodejs /usr/sbin/node
답변
전역 적으로 아무것도 추가하지 않고 창에서 grunt를 실행하는 또 다른 방법이 있습니다. % PATH %로 아무것도 할 필요가없는 경우입니다.
grunt 및 grunt-cli가 설치된 경우 (-g 스위치없이). 다음 중 하나를 수행하십시오.
npm install grunt-cli
npm install grunt@0.4.5
또는 packages.json 파일에 다음과 같이 넣으십시오.
"devDependencies": {
"grunt-cli": "^1.2.0",
"grunt": "^0.4.5",
다음을 통해 로컬 설치에서 grunt를 호출 할 수 있습니다.
node node_modules\grunt-cli\bin\grunt --version
이것은 어떤 이유로 든 PATH를 원하지 않거나 재생할 수 없거나 빌드 에이전트와 같이 항상 엉망이되는 사람들을위한 솔루션입니다.
편집 : grunt-cli가 grunt> 0.3에서 작동 할 때 버전 추가
답변
WIN7에서는 Windows PATH 환경 변수에 npm 폴더 (명시적인 ‘grunt’파일 포함)의 경로를 수동으로 추가해야했습니다.
내 경우에는C:\Users\mhaagsma\AppData\Roaming\npm
답변
grunt를 설치하는 올바른 방법은 다음 명령을 실행하는 것입니다.
npm install grunt -g
(EACCESS 오류 메시지가 표시되면 위 명령에 “sudo”를 추가하십시오)
-g는 npm을 사용하여 패키지를 전체적으로 설치하므로 현재 시스템에서 언제든지 패키지를 사용할 수 있습니다.