Git push heroku错误

时间:2012-07-17 04:46:39

标签: ruby heroku

我尝试将应用程序推送到Heroku:' git push heroku master',但收到错误:

  

c:\ Sites \ rails_project \ first_app> git push heroku master
  计数对象:63,完成。
  Delta压缩使用最多2个线程。
  压缩对象:100%(49/49),完成。
  书写对象:100%(63/63),25.95 KiB,完成   总计63(delta 2),重用0(delta 0)

     

- - - - > Heroku接受推车   ----->检测到Ruby / Rails app   ----->使用Bundler 1.2.0.pre版安装依赖项          运行:捆绑安装 - 没有开发:测试 - 路径供应商/捆绑   -binstubs bin /
         从https://rubygems.org/获取宝石元数据.........
         安装rake(0.9.2.2)
         安装i18n(0.6.0)
         安装multi_json(1.3.6)
         安装activesupport(3.2.1)
         安装构建器(3.0.0)
         安装activemodel(3.2.1)
         安装erubis(2.7.0)
         安装旅程(1.0.4)
         安装机架(1.4.1)
         安装机架缓存(1.2)
         安装机架测试(0.6.1)
         安装徒步旅行(1.2.1)
         安装倾斜(1.3.3)
         安装链轮(2.1.3)
         安装actionpack(3.2.1)
         安装mime-types(1.19)
         安装多语言(0.3.3)
         安装树梢(1.4.10)
         安装邮件(2.4.4)
         安装actionmailer(3.2.1)
         安装arel(3.0.2)
         安装tzinfo(0.3.33)
         安装activerecord(3.2.1)
         安装activeresource(3.2.1)
         使用bundler(1.2.0.pre)
         安装coffee-script-source(1.3.3)
         安装execjs(1.4.0)
         安装咖啡脚本(2.2.0)
         安装rack-ssl(1.3.2)
         安装带有原生扩展的json(1.7.3)
         安装rdoc(3.12)
         安装Thor(0.14.6)
         安装铁路(3.2.1)
         安装咖啡导轨(3.2.2)
         安装jquery-rails(2.0.2)
         安装导轨(3.2.1)
         安装sass(3.1.20)
         安装sass-rails(3.2.5)
         使用本机扩展安装sqlite3(1.3.3)
         Gem :: Installer :: ExtensionBuildError:错误:无法构建gem native   张力。
         / usr / local / bin / ruby​​ extconf.rb
         检查sqlite3.h ...没有
         缺少sqlite3.h。尝试端口安装sqlite3 + universal'
         或者' yum install sqlite3-devel'并检查您的共享库搜索拍   (该          sqlite3共享库所在的位置。)           * extconf.rb失败*
         由于某些原因无法创建Makefile,可能缺少
         必要的库和/或标题。检查mkmf.log文件以获取更多信息          细节。您可能需要配置选项          提供配置选项:
         --with-OPT-DIR
         --without-OPT-DIR
         --with-OPT-包括
         --without-OPT-包括= $ {停用DIR} /包括
         --with-OPT-lib的
         --without-OPT-LIB = $ {选择-DIR} / lib目录
         --with-MAKE-PROG
         --without-MAKE-PROG
         --srcdir =。
         --curdir
         --ruby =在/ usr / local / bin目录/红宝石
         --with-sqlite3的-DIR
         --without-sqlite3的-DIR
         --with-sqlite3的,包括
         --without-sqlite3的-包括= $ {sqlite3的-DIR} /包括
         --with-sqlite3的-lib的
         --without-sqlite3的-LIB = $ {sqlite3的-DIR} / lib中
         Gem文件将保留在/ tmp / build_3kebgpytmvg9c / vendor / bund中   /ruby/1.9.1/gems/sqlite3-1.3.3进行检查。
         结果记录到/tmp/build_3kebgpytmvg9c/vendor/bundle/ruby/1.9.1/gem   sqlite3-1.3.3 / EXT / sqlite3的/ gem_make.out
         安装sqlite3(1.3.3)时发生错误,而Bundler不能   ntinue。
         确保gem install sqlite3 -v '1.3.3'在Bundlin之前成功   
   !
   !无法通过Bundler安装宝石。
   !
   ! Heroku推送被拒绝,无法编译Ruby / rails app   
  致git@heroku.com:electric-mountain-4030.git
   ! [远程拒绝]主人 - >主人(预先接收挂钩拒绝)
  错误:未能将某些参考文献推送到' git@heroku.com:electric-mountain-4030.git'

我制作sq sqllite3,但是:

  

c:\ Sites \ rails_project \ first_app> gem install sqlite3 -v' 1.3
  获取:sqlite3-1.3.3-x86-mingw32.gem(100%)

     


     

您已安装sqlite3的二进制版本     它是使用SQLite3版本3.7.3构建的     建议使用完全相同的版本以避免使用

     

在构建此gem时,必要的DLL文件
    在以下下载中:

     

http://www.sqlite.org/sqlitedll-3_7_3.zip

     

您可以在y中将sqlite3.dll放在此包中     目录,例如C:\ Ruby \ bin

     

=============================================== =============   
  已成功安装sqlite3-1.3.3-x86-mingw32
  1个宝石安装
  为sqlite3-1.3.3-x86-mingw32安装ri文档...
  安装sqlite3-1.3.3-x86-mingw32的RDoc文档   错误:执行gem时...(Gem :: FilePermissionError)
      您没有写入js目录的权限。

感谢

1 个答案:

答案 0 :(得分:5)

Heroku使用PostgreSQL数据库而非SQLite。所以你必须在你的Gemfile中做这样的事情:

group :development do
  gem 'sqlite3'
end

group :production do
  gem 'pg'
end

这样你就可以在开发中使用SQLite,在生产中使用PostgreSQL(在Heroku上)。使用这些设置,Heroku不会尝试安装SQLite gem,这会导致错误。