Error al instalar jade en heroku

Recibo un error al enviar mi app node.js a Heroku. Solía ​​funcionar, pero ahora, por alguna razón, está fallando.

Cuando empujo a Heroku obtengo lo siguiente:

-----> Node.js app detected -----> Resolving engine versions Using Node.js version: 0.6.13 Using npm version: 1.1.4 -----> Fetching Node.js binaries -----> Vendoring node into slug -----> Installing dependencies with npm npm http GET https://registry.npmjs.org/express/2.5.9 npm http GET https://registry.npmjs.org/jade/0.15.4 npm http 200 https://registry.npmjs.org/jade/0.15.4 npm http GET https://registry.npmjs.org/jade/-/jade-0.15.4.tgz npm http 200 https://registry.npmjs.org/express/2.5.9 npm http GET https://registry.npmjs.org/express/-/express-2.5.9.tgz npm http 200 https://registry.npmjs.org/jade/-/jade-0.15.4.tgz npm http 200 https://registry.npmjs.org/express/-/express-2.5.9.tgz npm ERR! error installing [email protected] npm ERR! Refusing to delete: /tmp/build_dzqaws2o7lx4/node_modules/.bin/jade not in /tmp/build_dzqaws2o7lx4/node_modules/jade npm ERR! File exists: /tmp/build_dzqaws2o7lx4/node_modules/.bin/jade npm ERR! Move it away, and try again. npm ERR! npm ERR! System Linux 2.6.32-348-ec2 npm ERR! command "/tmp/node-node-HkEc/bin/node" "/tmp/node-npm-X5Wz/cli.js" "install" "--production" npm ERR! cwd /tmp/build_dzqaws2o7lx4 npm ERR! node -v v0.6.13 npm ERR! npm -v 1.1.4 npm ERR! path /tmp/build_dzqaws2o7lx4/node_modules/.bin/jade npm ERR! code EEXIST npm ERR! message Refusing to delete: /tmp/build_dzqaws2o7lx4/node_modules/.bin/jade not in /tmp/build_dzqaws2o7lx4/node_modules/jade npm ERR! errno {} npm http GET https://registry.npmjs.org/connect npm http GET https://registry.npmjs.org/mime/1.2.4 npm http GET https://registry.npmjs.org/qs npm http GET https://registry.npmjs.org/mkdirp/0.3.0 npm ERR! npm ERR! Additional logging details can be found in: npm ERR! /tmp/build_dzqaws2o7lx4/npm-debug.log npm not ok ! Failed to install --production dependencies with npm ! Heroku push rejected, failed to compile Node.js app 

Mi package.json es ats sigue:

 { "name": "myAppName", "version": "0.0.1", "dependencies": { "express": "2.5.9", "mongoose":"3.5.2", "jade": "0.15.4", "ejs": "0.7.1" }, "engines": { "node": "0.6.13", "npm": "1.1.4" } } 

Porque dice “Rehusarse a eliminar: …” Pensé que podría haber sido un error extraño en Heroku, así que traté de enviarlo a una nueva aplicación de Heroku, pero recibo el mismo error.

¿Alguna idea sobre lo que está mal? ¿Son mis versiones? Todo funciona bien localmente (ventanas). Cualquier ayuda será apreciada.

Estás usando un node.js antiguo. Intente agregar lo siguiente a package.json :

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

Puede inspeccionar la cosa más de cerca iniciando sesión en el sistema. Primero necesitas instalar Heroku Toolbelt (si aún no lo has hecho). Entonces:

 heroku login 

y

 heroku run bash --app yourapp 

Esto le dará un golpe a su instalación heroku. Vaya a /tmp ( cd /tmp ) y vea lo que queda allí. Intenta eliminarlo manualmente ( rm -rf whatisleft ).

Tu versión de jade también está desactualizada (aún). Mi heroku instala con jade tiene:

 "jade": "*" 

Por último, no agregue node_modules al control de origen. Así que .gitignore a tu archivo .gitignore .

Puedes forzar a Heroku a borrar el caché de tu aplicación:

 $ heroku plugins:install heroku-repo $ heroku repo:purge_cache -a appname