2015-05-28 15 views
12

Zainstalowałem aplikację node.js w zbiorniku "internetowych aplikacji". Dodałem folder "node_modules" do pliku .gitignore i pozwoliłem, aby azure zainstalował moduły z pliku package.json.Usługa "Aplikacje internetowe" Azure: automatycznie instaluje moduły npm z pakietu.json

Jednak większość modułów nie jest automatycznie instalowana i muszę otworzyć linię komend instancji i zainstalować je ręcznie przy użyciu "npm install".

używam węzła v0.12.0 i tu jest moje package.json:

{ 
"main": "server.js", 
"scripts": { 
    "start": "node server.js" 
}, 
"devDependencies": { 
    "body-parser": "^1.12.4", 
    "cors": "^2.6.1", 
    "express": "*", 
    "gulp": "^3.8.11", 
    "gulp-jshint": "^1.11.0", 
    "gulp-nodemon": "^2.0.3", 
    "moment": "^2.10.3", 
    "mongoose": "^4.0.3" 
}, 
"engines": { 
    "node": "0.12.0" 
} 
} 

Jak mogę włączyć automatyczne instalowanie modułów poprzez lazur aplikacji internetowych i nie jest zobowiązany do pchania folder „node_modules” z każde zatwierdzenie?

+2

To może być związane zarówno devDependencies że należy zmienić nazwę na zależności lub natywnych modułów węzłów, które są upadających do zbudowania (mangusta), ponieważ Azure nie obsługuje macierzystych modułów node.js. Czy możesz wkleić dziennik instalacji Azure? –

+0

@ Jonathan Muller thx, jestem nowy na błękitne masz na myśli dziennik wdrażania? – shadesco

+1

tak, więc widzimy, że pakiet zepsuł kompilację –

Odpowiedz

19

Azure nie instaluje devDependencies. nie devDependencies ale dependencies

w twojej package.json, devDependencies powinna być zmieniona na dependencies

Tego rodzaju rzeczy appens kiedy npm install --save-dev Jeśli trzeba je na produkcji, to jest.

zależność produkcji (potrzebne do uruchomienia): npm install --save
Inaczej (budować narzędzia, jshint itd): npm install --save-dev