Stworzyłem moduł ( webapp-module-storage
), który ma następujące definicje:
package.json
{
"dependencies": {
...
},
"devDependencies": {
"gulp": "^3.9.1",
...
},
"name": "webapp-module-storage",
"scripts": {
"postinstall": "gulp build",
"test": "gulp test"
}
}
Pomyślałem, że mogę użyć mojego modułu w innym module podczas instalacji go z:
npm install github:myorg/webapp-module-storage#master
Jednak po zainstalowaniu modułu pojawia się ten błąd:
Nie znaleziono lokalnego łyku
Spróbuj uruchomić: npm install gulp
Zrzut ekranu
Rozumiem, że gulp
jest to dostarczane razem z moim modułem, ponieważ zadeklarowałem to w programie, devDependencies
ale wygląda na to, że mój npm postinstall
skrypt nie może go znaleźć gulp
.
Czy coś mi brakuje?
npm
gulp
npm-install
post-install
Benny Neugebauer
źródło
źródło
npm i gulp -D
w folderze projektu. Uwaga: gulp4 może powodować problemy w starych projektach, do instalacji określonej wersji użyj w ten sposób:npm i [email protected] -D
(ps-D
for devDependencies)Odpowiedzi:
Spróbuj uruchomić
npm link gulp
w katalogu aplikacji (aby utworzyć lokalne łącze do globalnie zainstalowanego modułu Gulp).źródło
npm link gulp --no-bin-links
zadziałało.npm link [module]
tworzy dowiązanie symboliczne z globalnego folderu instalacyjnego modułu [moduł] do ./node_modules/[module] w bieżącej ścieżce (beznpm link
pakietów z linkami nazw, patrz stronaSpróbuj najpierw zainstalować swoje zależności:
Jeśli nadal nie działa, zainstaluj gulp globalnie:
jeśli napotkasz problemy z instalacją. wpisz sudo przed npm .
Jeśli potrzebujesz więcej informacji o tym, dlaczego potrzebujesz łyka na całym świecie i lokalnie przeczytaj tę odpowiedź
źródło
[17:51:24] CLI version 1.2.1
gulp
ze ścieżki mojego modułu lub mojego globalnie zainstalowanego łyka.Wypróbowałem wszystkie wymienione rozwiązania. W końcu udało mi się rozwiązać problem, zdając sobie sprawę, że brakuje pliku gulpfile.js w lokalizacji , w której używałem gulp. Po umieszczeniu gulpfile.js w folderze, z którego wykonywałem gulp, zadziałało.
źródło
npm link gulp --no-bin-links
Uruchomić to
gdzie
npm link gulp
tworzy lokalne łącze do globalnie zainstalowanego modułu gulp i--no-bin-links
argumentu, który uniemożliwi npm tworzenie dowiązań symbolicznych do jakichkolwiek plików binarnych, które pakiet może zawierać.Nie możesz tłumaczyć linków symbolicznych do zsynchronizowanego folderu w udziale Windows, więc będziesz potrzebować '--no-bin-links', aby go obejść.
Użyj go dla dowolnego systemu plików, który nie obsługuje dowiązań symbolicznych.
Dowiązania symboliczne lub łącza symboliczne to „wirtualne” pliki lub foldery, które odwołują się do fizycznego pliku lub folderu znajdującego się w innym miejscu i są ważną funkcją wbudowaną w wiele systemów operacyjnych, w tym Linux i Windows.
źródło
npm link gulp --force
Użycie tego polecenia działało dobrze dla mnie.
źródło