Estoy tratando de construir una biblioteca github jquery-ui usando grunt
, pero después de ejecutar npm install
todavía no puedo ejecutar el comando de acuerdo con el archivo Léame . Solo da 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
Estoy confundido, ¿qué me estoy perdiendo por favor?
sudo
Gracias Tom!node not found
después de ejecutar el comando anterior y usó el administrador de paquetes para instalar el nodo, entonces también necesita un enlace simbólicosudo ln -s /usr/local/bin/nodejs /usr/local/bin/node
Añadir
/usr/local/share/npm/bin/
a tu$PATH
fuente
$HOME/npm/bin
funcionó para mí en ubuntu 13.10.Si instaló el paquete Grunt ejecutando
npm install -g grunt
y todavía diceNo command 'grunt' found
ogrunt: command not found
, una forma rápida y sucia de hacer que esto funcione es vincular manualmente los binarios de nodo a su $ PATH.En MacOSX / Linux puede añadir esta línea a su
~/.bash_profile
o~/.bashrc
archivo.Probablemente debería reemplazar
/usr/local/Cellar/node/HEAD/bin
por la ruta donde se pueden encontrar sus binarios de nodo.Si esto es rápido y sucio para mí, es porque todo debería funcionar sin hacerlo, pero por una razón desconocida, un enlace parece estar roto. Como nadie en IRC podía decirme por qué sucedió esto, encontré mi propia manera de hacerlo funcionar (gruñir).
PD: Esto debería ayudarte a hacer que el gruñido funcione, esta respuesta no está relacionada con jquery-ui.
Actualización 02/2013 : debería echar un vistazo a la respuesta de @ tom-p que explica mejor lo que está sucediendo. Tom nos da la solución real en lugar de hackear tu archivo bashrc: ambos deberían funcionar, pero debes intentar instalar
grunt-cli
primero .fuente
En mi caso, necesito modificar el archivo / usr / local / bin / grunt en la línea 1 (no haga esto):
Editado:
Para evitar problemas, creé un enlace con el nombre de "nodo" porque muchos otros programas todavía usan el comando "nodo".
fuente
apt-get install nodejs-legacy
.brew install nodejs-leacy
Hay una forma más de ejecutar gruñido en Windows, sin agregar nada a nivel mundial. Este es un caso en el que no tiene que hacer nada con% PATH%
si tiene instalado grunt y grunt-cli (sin el interruptor -g). Ya sea por:
O al tener eso en su archivo packages.json como:
Puede llamar a gruñido desde su instalación local:
Esta es una solución para aquellos que por alguna razón no quieren o no pueden jugar con PATH, o tienen algo más que lo estropea todo el tiempo, por ejemplo, en un agente de compilación.
Editar: Versiones agregadas ya que grunt-cli funciona con grunt> 0.3
fuente
En WIN7 tuve que agregar manualmente la ruta a la carpeta npm (que contiene el elusivo archivo 'gruñido') a la variable de entorno PATH de Windows.
En mi caso eso fue
C:\Users\mhaagsma\AppData\Roaming\npm
fuente
La forma correcta de instalar grunt es ejecutando este comando:
(Anteponga "sudo" al comando anterior si recibe un mensaje de error EACCESS)
-g hará que npm instale el paquete globalmente, por lo que podrá usarlo cuando lo desee en su máquina actual.
fuente
grunt
todavía fallará porque el paquete de gruñido no incluye ninguna herramienta de línea de comandos. Es necesariogrunt-cli
.Hola, tuve este problema en Mac, y lo que hice fue
instalado globalmente y prefijo con ruta global
ahora
$ which grunt
debería poner fuera
/usr/local/bin/grunt
Salud
fuente
A veces tienes que hacerlo
npm install package_name -g
para que funcione.fuente
Otra solución es eliminar el paquete de Ubuntu en mi caso que utilicé:
Eso funcionó para mí.
fuente
En Windows, parte del misterio parece ser donde npm instala el archivo Grunt.cmd. Mientras estaba en mi Linux box, solo tenía que ejecutar sudo npm install -g grunt-cli, en mi computadora portátil de trabajo con Windows 8, Grunt se colocó en el directorio '.npm-global':% USER_HOME% \. Npm-global y yo tuvo que agregar eso al Camino.
Entonces en Windows mis pasos fueron:
npm install -g grunt-cli
averiguar dónde estaba el heck grunt.cmd (supongo que para algunos está en% USER_HOME% \ App_Data \ Roaming)
Agregué la ubicación a mi variable de entorno Path. Abrió un nuevo indicador de cmd y el comando gruñido funcionó bien.
fuente
En Windows 10, agregue esto a su ruta:
Esto hace referencia a la carpeta
~/AppData/Roaming/npm
[Asume que ya has corrido
npm install -g grunt-cli
]fuente