Local gulp non trovato (prova a eseguire: npm install gulp)


85

Ho creato un module ( webapp-module-storage) che ha le seguenti definizioni:

package.json

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

Ho pensato di poter utilizzare il mio modulo all'interno di un altro modulo durante l'installazione con:

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

Tuttavia, quando installo il mio modulo, ricevo questo errore:

Gulp locale non trovato

Prova a eseguire: npm install gulp

Immagine dello schermo

inserisci qui la descrizione dell'immagine

La mia comprensione è che gulpviene fornito insieme al mio modulo perché l'ho dichiarato in devDependenciesma sembra che il mio npm postinstallscript non possa trovare gulp.

Mi sto perdendo qualcosa?



1
Esegui npm i gulp -Dnella cartella del progetto. Nota: gulp4 può causare problemi in vecchi progetti, per installare una versione specifica utilizzare in questo modo: npm i gulp@3.9.1 -D(ps -Dfor devDependencies)
Guilherme Nascimento

Risposte:


184

Prova a eseguire npm link gulpnella directory dell'applicazione (per creare un collegamento locale al modulo Gulp installato a livello globale).


Utente Laravel / Homestead qui. Il comando sopra non ha funzionato per me, tuttavia ha npm link gulp --no-bin-linksfunzionato.
Lpgfmk

7
Per chiarire, npm link [module]crea un npm linkcollegamento simbolico dalla cartella di installazione globale di [module] a ./node_modules/[module] nel percorso corrente ( senza nomi di pacchetti, vedere la pagina man )
techturbulence

22

Prova prima a installare le tue dipendenze:

npm install

Se ancora non funziona, installa gulp a livello globale:

npm install -g gulp

se trovi problemi durante l'installazione. digita sudo prima di npm .

Se hai bisogno di maggiori informazioni sul motivo per cui hai bisogno di gulp a livello globale e locale, leggi questa risposta


1
Gulp è installato a livello globale:[17:51:24] CLI version 1.2.1
Benny Neugebauer

In realtà non nell'applicazione utilizzando il mio modulo. Ma ho pensato che sarebbe afferrato gulpdal percorso del mio modulo o dal mio gulp installato a livello globale.
Benny Neugebauer

1
Sembra che stia cercando il gulp locale all'interno del tuo progetto. Che ne dici di installarlo localmente, all'interno del tuo progetto?
Sebastian SALAMANCA

13

Ho provato tutte le soluzioni menzionate. Alla fine sono stato in grado di risolvere il problema realizzando che il file gulpfile.js mancava nella posizione in cui stavo usando il gulp. Dopo aver posizionato gulpfile.js nella cartella da cui stavo eseguendo gulp, ha funzionato per me.


0

npm link gulp --no-bin-links
Esegui questo

dove npm link gulpcrea un collegamento locale al modulo gulp installato a livello globale e l' --no-bin-linksargomento impedirà a npm di creare collegamenti simbolici per i file binari che il pacchetto potrebbe contenere.

Non puoi tradurre i collegamenti simbolici in una cartella sincronizzata sulla condivisione di Windows, quindi avrai bisogno di '--no-bin-links' per aggirarlo.

Usalo per qualsiasi filesystem che non supporta i collegamenti simbolici.

I collegamenti simbolici , o collegamenti simbolici, sono file o cartelle "virtuali" che fanno riferimento a un file o una cartella fisici situati altrove e sono un'importante funzionalità incorporata in molti sistemi operativi, inclusi Linux e Windows.


Ciao! Sebbene questo codice possa risolvere la domanda, inclusa una spiegazione di come e perché questo risolve il problema aiuterebbe davvero a migliorare la qualità del tuo post e probabilmente si tradurrebbe in più voti positivi. Ricorda che stai rispondendo alla domanda per i lettori in futuro, non solo alla persona che lo chiede ora. Si prega di modificare la risposta per aggiungere spiegazioni e dare un'indicazione di ciò si applicano le limitazioni e le assunzioni.
Brian

Grazie @ Brain per averlo sottolineato :). L'ho modificato.
Parikshit Singh

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.