이 오류의 원인- "치명적인 오류 : 로컬 grunt를 찾을 수 없습니다"


370

이전 버전의 grunt를 먼저 제거한 다음 새 grunt 버전을 설치 한 후 다음 오류가 발생했습니다.

D : \ www \ grunt-test \ grunt grunt-cli : grunt 명령 행 인터페이스. (v0.1.4)

치명적인 오류 : 로컬 그런트를 찾을 수 없습니다.

이 메시지가 표시되면 Gruntfile을 찾을 수 없거나 grunt가 프로젝트에 로컬로 설치되지 않은 것입니다. grunt 설치 및 구성에 대한 자세한 정보는 시작 안내서를 참조하십시오 : http://gruntjs.com/getting-started

내 시스템 경로에 grunt에 대한 참조가 없기 때문입니까? 또는 다른 것? 이미 몇 번 다시 설치하려고했습니다.


6
전 세계에 설치 했습니까? npm install grunt -g
elclanrs

1
당신은 있나요 Gruntfile.js프로젝트의 루트에?
Simon Boudrias

6
@Garreh 그것은 오래되었지만 npm install grunt --save-dev터미널에서 시도 하십시오. 에 최신 버전이 추가 package.json됩니다.
Romain

233
죄송합니다. 새로 체크 아웃 한 프로젝트에서이 문제가 발생했습니다. 그냥해야 npm install했어요!
poshaughnessy

6
nmp install-로컬 node_modules 폴더에 종속성을 설치합니다.
poorva

답변:


291

grunt.js프로젝트 디렉토리에 파일 이 없다고 생각합니다 . 를 사용 grunt:init하면 다음과 같은 옵션이 제공됩니다 jQuery, node,commonjs. 원하는 것을 선택한 다음 계속하십시오. 이것은 실제로 작동합니다. 자세한 내용은 당신이 방문 할 수있는 .

이 작업을 수행:

 1. npm install -g grunt
 2. grunt:init  ( you will get following options ):
      jquery: A jQuery plugin
      node: A Node module
      commonjs: A CommonJS module
      gruntplugin: A Grunt plugin
      gruntfile: A Gruntfile (grunt.js)
 3 .grunt init:jquery (if you want to create a jQuery related project.).

작동해야합니다.

v1.4 솔루션 :

1. npm install -g grunt-cli
2. npm init
   fill all details and it will create a package.json file.
3. npm install grunt (for grunt dependencies.)

편집 : 새 버전에 대한 업데이트 된 솔루션 :

 npm install grunt --save-dev

2
이 버전은 변경된 이전 (v0.3) 내가 unintsalled있어 .today 및 그런트 - CLI.something라는 새로운 꿀꿀 (v0.4)를 설치 .. 있어야합니다
라이언 Yiada

29
현재 npm install gruntgrunt 0.3.x를 설치합니다. 당신은`npm install grunt@0.4 '를해야한다. grunt-cli에 필요한 grunt 버전을 로컬에 설치하라
Jack

6
Grunt 설치 단계가 @ 0.4를 해결하기를 바랍니다. 내가 당신의 의견을 찾을 때까지 이것을 알아 내려고 노력하면서 내 손을 정말로 짜내고있었습니다.
cnp

2
npm install grunt --save-dev나를 위해 그것을했다
Vinicius Pinto

6
grunt-cli전역으로 설치해야하지만 grunt.js프로젝트에 로컬로 설치 해야합니다. 이를 통해 각 프로젝트는 다른 버전의 그런트를 사용할 수 있습니다. 나는 일반적으로 모든 등 conribs 꿀꿀 다른를 grunt.js를 설치하려면 package.json 파일과 NPM을 사용
헨리

164

전역이 아닌 node_modules에 Grunt 설치

Unable to find local Grunt Grunt를 전 세계에 설치했음을 의미합니다.

Grunt CLI는 grunt를 로컬 node_modules 디렉토리에 설치해야하므로 Grunt는 프로젝트에 로컬입니다.

이것은 실패합니다 :

npm install -g grunt

대신이 작업을 수행하십시오.

npm install grunt --save-dev

83

하다

npm install

Grunt를 로컬에 설치하고 ./node_modules(및 package.json파일에 지정된 다른 모든 것 )


4
나는 새로운 원인으로 새로운 프로젝트의 저장소를 mac으로
가져온 후이

1
명령 행 도구를 항상 전세계에 배치 할 수 있으므로 come grunt를 어떻게 로컬에 설치해야합니까?
Mike M

1
@MikeM 당신은 때때로 당신의 node_modules/.bin있습니다 PATH. 또한 로컬 및 글로벌 버전이 다를 수 있습니다.
Klas Mellbourn

제 경우에는 NetBeans의 잘못이었습니다. 때로는 git stash외부 도구를 사용할 때 프로젝트가 충돌하는 경우가 있습니다. 여기에서 일부 모듈을 제거 node_modules하고 모든 것이 작동을 멈췄습니다 (그리고 이전에는 정상적으로 작동했습니다). 후 npm install다시 잘 작동합니다.
Wirone

26

package.json프로젝트에 이미 파일이 있고 파일 grunt에 종속성이있는 경우,

  "devDependencies": {
    "grunt": "~0.4.0",

그런 다음 npm install문제를 해결하기 위해 실행할 수 있습니다.


5

권한없이 sudo와 다른 패키지를 사용하여 일부 패키지를 설치하는 실수를했기 때문에 문제가 해결되었습니다.

sudo chown -R $(whoami) $HOME/.npm

그것이 누군가를 돕기를 바랍니다.


5

현지인이 grunt없으므로 다음을 시도하십시오.

npm install grunt

( -g이것이 없으면 로컬입니다 grunt)

직접 관련이 없지만 Gruntfile.js현재 폴더에 있는지 확인하십시오 .


4

사용중인 grunt의 버전에 따라 여기에 몇 가지 문제가있을 수 있습니다. 최신 버전의 grunt는 실제로 Gruntfile.js(이전 파일 대신) 파일을 지정합니다 grunt.js.

grunt-cli도구를 전체적으로 설치 해야합니다 (이를 통해 수행 npm install -g grunt-cli). 이를 통해 실제로 grunt명령 행에서 명령을 실행할 수 있습니다 .

둘째, 프로젝트에 대해 로컬로 grunt를 설치했는지 확인하십시오. 당신이 볼 경우 package.json같은이없는 "grunt": "0.4.5"그 다음 당신이해야에 npm install grunt --save프로젝트 디렉토리에 있습니다.


3

이 문제를 해결하기 위해 우분투에서 다음 명령을 실행해야했습니다 (1 시간 동안 grunt 알고 있음).

sudo npm install -g grunt
sudo npm install -g grunt-cli

cd /usr/local/bin
# current symlink points to ../lib/node_modules/grunt/bin/grunt*
sudo rm /usr/local/bin/grunt
sudo ln -s ../lib/node_modules/grunt-cli/bin/grunt* grunt

더럽지 만 내가 찾은 유일한 솔루션입니다 ... :(


2

전 세계적으로 grunt를 설치하고 (이상하게도 여러 가지 대답으로 권장) 그 모든 것이 엉망이 되었기 때문에 위의 어느 것도 나를 위해 일하지 않았습니다. 작동 한 내용은 다음과 같습니다.

npm uninstall -g grunt
npm install

이제는 로컬 그릿 트가 설치되어 사용할 수있었습니다.


0

grunt하고 새로 설정하기 때문에 Google 드라이브에서 grunt 프로젝트 / 폴더를 실행하고 있습니다. 랩탑이나 워크 스테이션에서 동일한 코드 / 빌드에 액세스 할 수 있습니다.

nodes_modules 폴더를 Google 드라이브로 다시 동기화하면 어느 시점에서 충돌이 발생한 것으로 보이며 / nodes_modules / grunt 폴더의 이름이 / nodes_modules / grunt (1)로 변경되었습니다.

(1)을 제거하여 다시 이름을 바꾸면 문제가 해결 된 것 같습니다.


왜 GIT를 사용하지 않습니까?
hmrc87 2016 년

변경 사항을 추적 / 버전으로보고 싶지 않았으며 두 개의 개별 설치를 유지하려고하지 않았지만 위 시나리오는 상당히 문제가있어서 어쨌든 github으로 이동했습니다.
LJT


0

나는 Vagrant에서 같은 문제가있었습니다.

sudo를 사용하여 설치 명령을 실행했습니다.

sudo npm install -g grunt-cli

그것은 나를 위해 일했다.


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