web-dev-qa-db-fra.com

Comment puis-je appeler npm sur la ligne de commande heroku (pour installer les composants de bower)?

Bower est pour le côté client Javascript ce que npm est pour le côté serveur et lit un component.json fichier pour reconnaître les dépendances qui devraient être récupérées au moment du déploiement, donc je serais heureux qu'il soit exécuté par heroku au moment de la compilation des slug.

Malheureusement, je ne peux pas invoquer npm ou bower depuis une console heroku ou une commande unique (heroku run "npm help") (heroku run bash -> npm help) comme c'est possible avec le râteau de Ruby. J'ai mis npm et node (dernières versions/x) dans mon package.json mais dans la section moteurs, pas les dépendances.

Je pense que cela pourrait être résolu en personnalisant le node ​​buildpack mais je considère que c'est une tâche un peu trop lourde juste pour activer quelque chose de si évident.

31
Stefan

Vous pouvez également configurer une commande postintall, quelque chose comme ceci dans votre package.json

"dependencies": {
    "bower": "0.6.x"
},
"scripts": {
    "postinstall": "./node_modules/bower/bin/bower install"
}

Ensuite npm install installera également les dépendances de bower.

Avantages: une commande pour les gouverner tous.

Inconvénients: vous intégrez inutilement Bower en tant que dépendance.

63
xavier.seignard

Vous pouvez utiliser run comme ceci:

heroku run npm install git://github.com/webjay/kaiseki
8
webjay

Vous devez déclarer les dépendances NPM dans le fichier package.json

Tout ce que vous installez à partir de Shell sera supprimé à la sortie de Shell. Vous êtes dans une instance clonée.

5
dani herrera