在heroku上安装jade时出错 [英] Error installing jade on heroku

查看:142
本文介绍了在heroku上安装jade时出错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

将我的node.js-app推送到Heroku时出现错误。它曾经工作,但现在,由于某种原因,它失败了。



当我推送到Heroku时,我得到以下内容:

   - ----> Node.js应用检测到
----->解析引擎版本
使用Node.js版本:0.6.13
使用npm版本:1.1.4
----->获取Node.js二进制文件
----->将节点卖给slug
----->使用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!错误安装jade@0.15.4

npm ERR!拒绝删除:/tmp/build_dzqaws2o7lx4/node_modules/.bin/jade不在/ tmp / build_dzqaws2o7lx4 / node_modules / jade
npm ERR!文件存在:/tmp/build_dzqaws2o7lx4/node_modules/.bin/jade
npm ERR!将其移开,然后重试。
npm ERR!
npm ERR!系统Linux 2.6.32-348-ec2
npm ERR!命令/ tmp / node-node-HkEc / bin / node/tmp/node-npm-X5Wz/cli.jsinstall--production
npm ERR! cwd / tmp / build_dzqaws2o7lx4
npm ERR! node -v v0.6.13
npm ERR! npm -v 1.1.4
npm ERR!路径/tmp/build_dzqaws2o7lx4/node_modules/.bin/jade
npm ERR!代码EEXIST
npm ERR!消息拒绝删除:/tmp/build_dzqaws2o7lx4/node_modules/.bin/jade不在/ 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!附加的日志记录细节可以在以下位置找到:
npm ERR! /tmp/build_dzqaws2o7lx4/npm-debug.log
npm不行
!无法安装 - 使用npm
生产依赖关系! Heroku推送被拒绝,无法编译Node.js应用程序

我的package.json的ats如下所示:

  {
name:myAppName,
version:0.0.1,
依赖关系:{
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
}
}

因为它说拒绝删除:......我认为这可能是Heroku上的一个怪异错误,所以我试图将它推送到一个新的Heroku应用程序,但我得到了同样的错误。



有什么不对的想法?它是我的版本吗?一切运行良好本地(窗口)。
任何帮助将不胜感激。

解决方案

您正在使用旧的 node.js 。尝试将以下内容添加到 package.json

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

您可以通过登录系统来更仔细地检查事情。首先,您需要安装 Heroku Toolbelt (如果您尚未安装)。然后:

  heroku登录

  heroku run bash --app yourapp 

这会为您的heroku安装提供一个bash。导航到 / tmp cd / tmp )并查看剩下的内容。尝试手动删除它( rm -rf whatisleft )。



您的玉石版本也过期了)。我的heroku用jade安装了:

 jade:*

最后,不要将 node_modules 添加到源代码管理。因此将它添加到 .gitignore 文件中。


I get an error when pushing my node.js-app to Heroku. It used to work, but now, for some reason, it's failing.

When I push to Heroku I get the following:

-----> 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 jade@0.15.4

   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

My package.json is ats follows:

{
  "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"
  }
}

Because it says "Refusing to delete:..." I thought it might have been a freak error on Heroku, so I tried to push it to a new Heroku-app, but I get the same error.

Any ideas as to what is wrong? Is it my versions? Everything runs fine locally (windows). Any help will be appreciated.

解决方案

You are using an old node.js. Try adding the following to package.json:

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

You can inspect thing more closely by logging in on the system. First you need to install Heroku Toolbelt (if you haven't already). Then:

heroku login

and

heroku run bash --app yourapp

This will give you a bash to your heroku installation. Navigate to /tmp (cd /tmp) and see what's left there. Try to remove it manually (rm -rf whatisleft).

Your jade version is out of date too (still). My heroku install with jade has:

"jade": "*"

Lastly, don't add node_modules to source control. So add it to your .gitignore file.

这篇关于在heroku上安装jade时出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆