No se encontró el trago local (intente ejecutar: npm install gulp)


84

Creé un módulo ( webapp-module-storage) que tiene las siguientes definiciones:

package.json

{
  "dependencies": {
    ...
  },
  "devDependencies": {
    "gulp": "^3.9.1",
    ...
  },
  "name": "webapp-module-storage",
  "scripts": {
    "postinstall": "gulp build",
    "test": "gulp test"
  }
}

Pensé que podía usar mi módulo dentro de otro módulo al instalarlo con:

  • npm install github:myorg/webapp-module-storage#master

Sin embargo, cuando instalo mi módulo, aparece este error:

Trago local no encontrado

Intente ejecutar: npm install gulp

Captura de pantalla

ingrese la descripción de la imagen aquí

Tengo entendido que gulpse envía junto con mi módulo porque lo declaré, devDependenciespero parece que mi npm postinstallscript no puede encontrarlo gulp.

¿Me estoy perdiendo de algo?



1
Realizar npm i gulp -Den carpeta proyecto. Nota: gulp4 puede causar problemas en proyectos antiguos, para instalar una versión específica, use como este: npm i gulp@3.9.1 -D(ps -Dpara devDependencies)
Guilherme Nascimento

Respuestas:


181

Intente ejecutar npm link gulpen el directorio de su aplicación (para crear un enlace local al módulo Gulp instalado globalmente).


Usuario de Laravel / homestead aquí. El comando anterior no funcionó para mí, sin embargo npm link gulp --no-bin-linksfuncionó.
Lpgfmk

7
Para aclarar, npm link [module]crea un enlace simbólico desde la carpeta de instalación global de [módulo] a ./node_modules/[module] en la ruta actual ( npm linksin paquetes de enlaces de nombre, ver página de manual )
techturbulence

22

Intente instalar sus dependencias primero:

npm install

Si aún no funciona, instale gulp globalmente:

npm install -g gulp

si encuentra problemas para instalarlo. escriba sudo antes de npm .

En caso de que necesite más información sobre por qué necesita tragar a nivel mundial y local, lea esta respuesta


1
Gulp está instalado globalmente:[17:51:24] CLI version 1.2.1
Benny Neugebauer

En realidad, no en la aplicación que usa mi módulo. Pero pensé que se tomaría gulpde la ruta de mi módulo o de mi trago instalado globalmente.
Benny Neugebauer

1
Parece que está buscando el trago local dentro de su proyecto. ¿Qué tal instalarlo localmente, dentro de su proyecto?
Sebastian SALAMANCA

13

He probado todas las soluciones mencionadas. Al final, pude resolver el problema al darme cuenta de que faltaba el archivo gulpfile.js en la ubicación en la que estaba usando el gulp. Después de colocar gulpfile.js en la carpeta desde donde estaba ejecutando gulp, funcionó para mí.


0

npm link gulp --no-bin-links
Ejecuta esto

donde npm link gulpcrea un enlace local al módulo gulp instalado globalmente y el --no-bin-linksargumento evitará que npm cree enlaces simbólicos para cualquier binario que el paquete pueda contener.

No puede traducir enlaces simbólicos a una carpeta sincronizada en el recurso compartido de Windows, por lo que necesitará '--no-bin-links' para rodearlo.

Úselo para cualquier sistema de archivos que no admita enlaces simbólicos.

Los enlaces simbólicos , o enlaces simbólicos, son archivos o carpetas "virtuales" que hacen referencia a un archivo o carpeta físicos ubicados en otro lugar y son una característica importante incorporada en muchos sistemas operativos, incluidos Linux y Windows.


¡Hola! Si bien este código puede resolver la pregunta, incluir una explicación de cómo y por qué esto resuelve el problema realmente ayudaría a mejorar la calidad de su publicación y probablemente resultaría en más votos a favor. Recuerde que está respondiendo la pregunta a los lectores en el futuro, no solo a la persona que pregunta ahora. Por favor, editar su respuesta para agregar explicaciones y dar una indicación de lo que se aplican limitaciones y supuestos.
Brian

Gracias @Brain por señalar :). Lo he editado.
Parikshit Singh

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.