Gulp comando no encontrado después de instalar


Instalé gulp (globalmente) y parece que funcionó porque ejecutó este código:

├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected] ([email protected], [email protected], [email protected])
├── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected])
├── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected])
├── [email protected] ([email protected], [email protected], [email protected], [email protected])
└── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected])

Pero cuando escribo gulp dice -bash: gulp: command not found

¿Alguna idea de lo que está pasando?

Author: iluvpinkerton, 2014-08-02

8 answers

Resulta que npm estaba instalado en el directorio equivocado, así que tuve que cambiar el "prefijo de configuración de npm" ejecutando este código:

npm config set prefix /usr/local

Luego reinstalé gulp globalmente (con el parámetro-g) y funcionó correctamente.

Este artículo es donde encontré la solución: http://webbb.be/blog/command-not-found-node-npm

 148
Author: iluvpinkerton,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-08-04 19:54:03

No estoy seguro de por qué la pregunta fue rechazada, pero tuve el mismo problema y después de la publicación del blog recomendó resolver el problema. Una cosa que debo agregar es que en mi caso, una vez que corrí:

npm config set prefix /usr/local

Confirmé que el npm root -g estaba apuntando a /usr/local/lib/node_modules/npm, pero para instalar gulp en /usr/local/lib/node_modules, tuve que usar sudo:

sudo npm install gulp -g

 49
Author: thehme,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-10-06 17:50:24

Si está usando tcsh (que es mi shell predeterminado en Mac OS X), probablemente solo necesite escribir rehash en el shell justo después de que se complete la instalación:

npm install -g gulp

Seguido inmediatamente por:

rehash

De lo contrario, si esta es la primera vez que instala gulp, es posible que su shell no reconozca que hay un nuevo ejecutable instalado, por lo que debe iniciar un nuevo shell o escribir rehash en el shell actual.

(Esto es básicamente una cosa de una sola vez para cada comando que instalar globalmente.)

 20
Author: Steve Goldberg,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-06-07 09:45:21

Me doy cuenta de que este es un hilo viejo, pero para el Futuro, yo y la posteridad, pensé que debería agregar mis dos centavos en torno a la discusión de "ejecutar npm como sudo". Descargo de responsabilidad: No uso Windows. Estos pasos solo se han probado en máquinas que no son Windows, tanto virtuales como físicas.

Puede evitar la necesidad de usar sudo cambiando el permiso al directorio predeterminado de npm.


Cómo: cambiar los permisos para ejecutar npm sin sudo

, Paso 1: Averigüe dónde está el directorio predeterminado de npm.

  • Para hacer esto, abra su terminal y ejecute:
    npm config get prefix

Paso 2: Proceder, basado en la salida de ese comando:

  • Escenario Uno: el directorio predeterminado de npm es /usr/local
    Para la mayoría de los usuarios, su salida mostrará que el directorio predeterminado de npm es / usr / local, en cuyo caso puede saltar al paso 4 para actualizar los permisos para el directorio.
  • Escenario dos: npm el directorio predeterminado es /usr o /Users/YOURUSERNAME/node_modules o /Something/Else/FishyLooking
    Si encuentra que el directorio predeterminado de npm no es /usr/local, sino que es algo que no puede explicar o parece sospechoso, debe ir al paso 3 para cambiar el directorio predeterminado de npm, o corre el riesgo de estropear sus permisos en una escala mucho mayor.

Paso 3: Cambiar el directorio predeterminado de npm:

  • Hay un par de maneras de hacer esto, incluyendo la creación de un directorio específicamente para instalaciones globales y luego agregar ese directorio a su PATH PATH, pero como /usr / local probablemente ya esté en su path, creo que es más simple cambiar el directorio predeterminado de npm a ese. Así: npm config set prefix /usr/local
    • Para obtener más información sobre los otros enfoques que mencioné, consulte los documentos del mnp aquí.

Paso 4: Actualice los permisos en el directorio predeterminado de npm:

  • Una vez que haya verificado que el directorio predeterminado de npm está en una ubicación sensible, puede actualizar los permisos usando el comando:
    sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}

Ahora debería poder ejecutar npm <whatever> sin sudo. Nota: Es posible que tenga que reiniciar su terminal para que estos cambios surtan efecto.

 12
Author: sgray,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-09-14 15:34:20

Tuve este problema al obtener "comando no encontrado" después de la instalación, pero me instalé en /usr/local como se describe en la solución anterior.

Mi problema parecía ser causado por mí ejecutando la instalación con sudo. Hice lo siguiente.

  1. Eliminando gulp de nuevo con sudo
  2. Cambiando el propietario de /usr/local/lib/node_modules a mi usuario
  3. Instalando gulp de nuevo sin sudo. "npm install gulp-g"
 4
Author: Zack Huston,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-03-11 19:17:11

Tuve un problema similar Hice los siguientes pasos y funcionó.Vaya a mac terminal y ejecute los comandos,

1.npm config set prefix/usr / local

2.sudo chown-R} (whoami) get (npm config get prefix)/{lib/node_modules,bin,share}

Estos dos comandos configurarán la ruta npm correctamente y ya no tendrá que usar sudo en npm. Siguiente desinstalar el gulp

  1. Npm desinstalar gulp

  2. Installl gulp de nuevo sin sudo, instalación de npm gulp - g

Esto debería funcionar!!

 4
Author: Atul Kumar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-11-07 08:51:57

Necesitas hacer esto npm install --global gulp. Funciona para mí y también tenía este problema. Porque no instalaste globalmente este paquete.

 3
Author: Sergey Andreev,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-09-20 19:15:13

En mi caso agregar sudo antes de la instalación de npm resuelto gulp comando no encontrado problema

sudo npm install

 0
Author: Balram Singh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-06-08 09:31:14