Mam projekt, który używa Gulp. Wdrożyłem swój projekt na mój serwer Ubuntu, a teraz chcę skompilować zasoby (co w tej chwili wszystkie moje pliki gulp). Po zainstalowaniu węzła i npm uruchamiam npm install
z katalogu głównego mojego projektu, aby zainstalować zależności. Package.json brzmi następująco:npm Brakuje zależności Gulp, nawet po uruchomieniu npm install
...},
"devDependencies": {
"bower": ">=1.3.12",
"gulp": "^3.8.10",
"gulp-concat": "^2.4.3",
"gulp-less": "^2.0.1",
"gulp-minify-css": "^0.4.3",
"gulp-notify": "^2.2.0",
"gulp-rename": "^1.2.0",
"gulp-uglify": "^1.1.0"
}...
Po następnie kontroli folder node_modules
w moim domowym projektu widzę katalogów dla każdego z zależności wskazujących, że zostały zainstalowane. Jednak gdy uruchamiam gulp
otrzymuję błędy NPM takie jak poniżej:
Error: Cannot find module 'through2'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)
Te wydają się być zależnościami z zależnościami w moim projekcie (jak oni nie są wymienione w moim gulpfile), ale dlaczego nie ma npm je zainstalowane ?
Mogę ręcznie zainstalować każdą z nich, gdy wystąpi błąd, ale otrzymam kolejny podobny błąd dla następnej brakującej zależności.
Jak mogę to rozwiązać?
Nie odpowiadając na pytanie, ale podając sugestię: nie używaj serwera produkcyjnego do kompilacji zasobów. Twórz zasoby lokalnie i przesyłaj/rsynkuj je jako część swojego wdrożenia. Zaoszczędzisz sobie z takich bólów głowy jak ** i ** zmniejszysz potrzebę instalowania i konfigurowania oprogramowania w jeszcze innym środowisku. – deefour
Jakie jest twoje środowisko, npm i węzły? –