2012-08-04 4 views
5

Je déploie une application Node sur Heroku et j'obtiens l'erreur suivante. Si npm ne fonctionne pas avec les versions récentes de Node, que devons-nous utiliser pour un gestionnaire de paquets? J'ai vraiment aimé node_modules et package.json. Cela semblait très logique.npm ne fonctionne pas avec le noeud v0.8.5?

-----> Heroku receiving push 
-----> Node.js app detected 
-----> Resolving engine versions 
     Using Node.js version: 0.8.5 
     Using npm version: 1.0.106 
-----> Fetching Node.js binaries 
-----> Vendoring node into slug 
-----> Installing dependencies with npm 
     Error: npm doesn't work with node v0.8.5 
     Required: [email protected] || 0.5 || 0.6 

Répondre

11

Si vous spécifiez Node.js 0.8.x via "engines" dans votre package.json, vous devrez peut-être définir une version pour "npm":

{ 
    ... 
    "engines": { 
    "node": "0.8.x", 
    "npm": "1.1.x" 
    } 
} 

De l'Heroku Dev Center for Node.js:

Si vous faites ne spécifiez pas une version, vous obtiendrez les valeurs par défaut suivantes:

  • Node.js: 0.4.7
  • NPM: 1.0.106

Cette page contient également des liens vers version prise en charge pour les deux. Manifeste

0

Vous avez tout simplement obtenu une version obsolète de NPM: la version actuelle est 1.1.45 et fonctionne très bien avec les versions 0.8.x de noeud.

+0

Cela fonctionne sur Heroku ... Je ne pense pas que je peux améliorer le NPM d'Héroku, je peux? Lancer "heroku run bash" (pour me donner une console bash en sandbox) puis "npm" ne me montre rien. – Geoff

Questions connexes