我尝试将应用程序推送到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目录的权限。
感谢
答案 0 :(得分:5)
Heroku使用PostgreSQL数据库而非SQLite。所以你必须在你的Gemfile中做这样的事情:
group :development do
gem 'sqlite3'
end
group :production do
gem 'pg'
end
这样你就可以在开发中使用SQLite,在生产中使用PostgreSQL(在Heroku上)。使用这些设置,Heroku不会尝试安装SQLite gem,这会导致错误。