¿Qué está causando este error? "Error grave: no se puede encontrar el gruñido local"

370

Primero eliminé la versión anterior de Grunt, luego instalé la nueva versión de Grunt y luego recibí este error:

D: \ www \ grunt-test \ grunt grunt-cli: la interfaz de línea de comandos de grunt. (v0.1.4)

Error fatal: no se puede encontrar el gruñido local.

Si está viendo este mensaje, no se encontró un Gruntfile o no se ha instalado Grunt localmente en su proyecto. Para obtener más información sobre la instalación y configuración de Grunt, consulte la guía de inicio: http://gruntjs.com/getting-started

¿Es esto porque no hay una referencia a gruñido en mi ruta del sistema? ¿O algo mas? Intenté reinstalarlo varias veces.

Ryan Yiada
fuente
66
¿Lo instaló a nivel mundial? npm install grunt -g
elclanrs
1
¿Tienes una Gruntfile.jsen la raíz de tu proyecto?
Simon Boudrias
66
@ Garreh Ha pasado un tiempo, pero inténtalo npm install grunt --save-devdesde la terminal. Esto debería agregar la última versión a tu package.json.
Romain
233
Vaya, tuve esto con un proyecto recién retirado. Solo necesitaba hacer npm install!
poshaughnessy
66
nmp install: instala las dependencias en la carpeta local node_modules.
poorva

Respuestas:

291

Creo que no tienes un grunt.jsarchivo en el directorio de tu proyecto. Use grunt:init, que le brinda opciones como jQuery, node,commonjs. Seleccione lo que desea, luego continúe. Esto realmente funciona. Para más información puedes visitar esto .

Hacer esto:

 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.).

Deberia de funcionar.

Solución para 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.)

Editar: Solución actualizada para nuevas versiones:

 npm install grunt --save-dev
Anshul
fuente
2
Esta versión debe ser la anterior (v0.3). Hoy estoy sin instalarlo e instalo el nuevo gruñido (v0.4) llamado Grunt-CLI. Algo ha cambiado ...
Ryan Yiada
29
Actualmente, npm install gruntinstala grunt 0.3.x. Tendrá que hacer `npm install [email protected] ', vaya a instalar localmente la versión de grunt necesaria para grunt-cli
Jack
66
Deseo que los pasos de instalación de Grunt aborden el @ 0.4. Realmente me retorcía las manos tratando de resolver esto hasta que encontré tu comentario.
cnp
2
npm install grunt --save-devlo hizo por mí
Vinicius Pinto
66
grunt-clidebe instalarse globalmente, pero espera que tenga una instalación local grunt.jsen su proyecto. Esto permite que cada proyecto use una versión diferente de gruñido. Por lo general, uso npm con un archivo package.json para instalar grunt.js todas las demás conribs grunt, etc.
Henry
164

Instale Grunt en node_modules en lugar de globalmente

Unable to find local Grunt probablemente significa que ha instalado Grunt a nivel mundial.

La CLI de Grunt insiste en que instale grunt en su directorio local node_modules, por lo que Grunt es local para su proyecto.

Esto fallará:

npm install -g grunt

Haz esto en su lugar:

npm install grunt --save-dev
superluminario
fuente
83

Hacer

npm install

instalar Grunt localmente ./node_modules(y todo lo demás especificado en el package.jsonarchivo)

Klas Mellbourn
fuente
44
Hice eso como un tonto, olvidé ejecutar este comando después de extraer el repositorio del nuevo proyecto nuevo para mac .....: /
neoswf
1
¿Cómo es que Grunt necesita ser instalado localmente ya que la herramienta de línea de comando siempre se puede ubicar globalmente?
Mike M
1
@MikeM a veces tienes node_modules/.binen tu PATH. Además, local y global pueden ser versiones diferentes.
Klas Mellbourn
En mi caso fue culpa de NetBeans. A veces bloquea mis proyectos cuando lo hago git stashen una herramienta externa, aquí eliminó algunos módulos node_modulesy todo dejó de funcionar (y funcionaba bien antes). Después de npm installque funciona bien de nuevo.
Wirone
26

Si ya tiene un archivo package.jsonen el proyecto y contiene gruntdependencia,

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

Entonces puedes correr npm installpara resolver el problema

Anthony Kong
fuente
5

Cometí el error de instalar algunos paquetes usando sudo y otros sin privilegios, esto solucionó mi problema.

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

Espero que ayude a alguien.

misterzik
fuente
5

Dice que no tienes un local, gruntasí que prueba:

npm install grunt

(sin el -ges un local grunt)

Aunque no está directamente relacionado, asegúrese de tenerlo Gruntfile.jsen su carpeta actual.

Tomer Ben David
fuente
4

Podría haber algunos problemas aquí dependiendo de qué versión de gruñido se esté utilizando. Las versiones más recientes de gruñido en realidad especifican que tiene un archivo llamado Gruntfile.js(en lugar del antiguo grunt.js).

Debe tener la grunt-cliherramienta instalada globalmente (esto se hace a través de npm install -g grunt-cli). Esto le permite ejecutar gruntcomandos desde la línea de comandos.

En segundo lugar, asegúrese de haber instalado Grunt localmente para su proyecto. Si ve que su package.jsonno tiene algo así "grunt": "0.4.5", entonces debe hacerlo npm install grunt --saveen el directorio de su proyecto.

Nick Schaubeck
fuente
3

Tuve que ejecutar los siguientes comandos en ubuntu para resolver este problema (sé gruñido durante 1 hora):

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

Está sucio pero es la única solución que encontré ... :(

Max
fuente
2

Nada de lo anterior funcionó para mí porque tenía un gruñido instalado globalmente (recomendado en varias de estas respuestas, por extraño que parezca) y eso estaba arruinando todo. Esto es lo que funcionó:

npm uninstall -g grunt
npm install

Solo ahora se instaló un gruñido local y utilizable para mí.

mlncn
fuente
0

Al ser nuevo en gruñir y configurarlo, estoy ejecutando (quizás tontamente) mi proyecto / carpeta gruñona desde un Google Drive para poder acceder al mismo código / compilación desde mi computadora portátil o estación de trabajo.

Hay una buena sincronización de las carpetas node_modules a Google Drive y parece haber un conflicto en algún momento, y la carpeta / node_modules / grunt fue renombrada a / node_modules / grunt (1)

Renombrarlo de nuevo eliminando el (1) me pareció solucionarlo.

LJT
fuente
¿Por qué no usas GIT?
hmrc87
No quería rastrear / cambiar las versiones y estaba tratando de no mantener dos instalaciones grupales separadas, pero el escenario anterior era bastante problemático, así que me he mudado a Github de todos modos.
LJT
0

Solo npm installpara instalarnode_modules

Miku Ghoul
fuente
0

Tuve el mismo problema en Vagrant.

He usado sudo para ejecutar el comando para instalar.

sudo npm install -g grunt-cli

Funcionó para mi.

usuario1012513
fuente
0

Simplemente puede ejecutar este comando:

npm install grunt --save-dev
Vinod Kumar
fuente