J'ai une application nœud.js que je viens de déployer sur Heroku qui dépend du Canvas A> Module. Cependant, ce module nécessite la bibliothèque graphique du Caire et la longue histoire courte, je dois utiliser une version précomiée incluse avec Cette fourchette de toile .
normalement, mes dépendances de paquet.json ressemblent à: p> mais afin de faire fonctionner mon application sur Heroku , Je dois tirer dans la fourchette de GitHub P> est-il possible d'avoir une version "heroku-seulement" de forfait.json? Ou existe-t-il une autre section dans Package.json où je peux "remplacer" la dépendance en toile dans les environnements de développement? P> P>
3 Réponses :
Peut-être que vous pourriez utiliser une branche spécifique à Heroku dans Git et fusionner cela avant de déployer (en veillant à ce que vous ne fusionniez pas sur votre colis.json). P>
Ensuite, vous ne déployez pas à Heroku;)
Hahah, touché. Je suppose que j'aurais pu trouver une meilleure façon de dire "j'aimerais qu'il y ait un moyen de le faire sans git" :)
jamais utilisé Heroku mais le format de package.json définit le champ DevDePendances, voir fiche de Nodejitsu . Ensuite, installez avec $ npm install -d code>. P>
Je n'ai pas pensé que les devdependais remplaceraient différentes versions du même paquet, mais cela semble que cela fonctionne. Cependant, il semble utiliser des devdépendances même sans le drapeau --dev. Y a-t-il une variable env San partout?
Vous pouvez configurer NPM pour exécuter en mode de production avec NPM Config Set Production true code> ou la variable env 200
export npm_config_production = "vrai" code>
Ce lien est cassé pour moi
Il y a un outil appelé PENV qui semble prometteur. De leur site: p>
Parfois, nous avons besoin d'un paquet différent.json propriétés pour nos différents environnements tels que la production, la mise en scène et le développement. (Ex: Jitsu déploie) p>
avec PENV Vous pouvez personnaliser votre fichier package.json avec des propriétés définies dans un fichier environnements.json. p> blockQuote>
va réellement essayer maintenant. p>
Déploiez-vous la même application à Heroku et ailleurs? Si Heroku est votre seule cible, pourquoi la nécessité de gérer 2 fichiers paquet.json?
Machine locale, machine Heroku, mais je peux ajouter d'autres environnements à l'avenir. Si quelqu'un d'autre vérifie le projet, l'installation de NPM échouera à moins que leur architecture correspond à celle de Heroku