2012-07-17 68 views
0

我想推的應用程序的Heroku: '混帳推Heroku的主人',但得到的錯誤:推送操作Heroku的錯誤

c:\Sites\rails_project\first_app>git push heroku master
Counting objects: 63, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (49/49), done.
Writing objects: 100% (63/63), 25.95 KiB, done.
Total 63 (delta 2), reused 0 (delta 0)

-----> Heroku receiving push
-----> Ruby/Rails app detected
-----> Installing dependencies using Bundler version 1.2.0.pre
Running: bundle install --without development:test --path vendor/bundle -binstubs bin/
Fetching gem metadata from https://rubygems.org/ .........
Installing rake (0.9.2.2)
Installing i18n (0.6.0)
Installing multi_json (1.3.6)
Installing activesupport (3.2.1)
Installing builder (3.0.0)
Installing activemodel (3.2.1)
Installing erubis (2.7.0)
Installing journey (1.0.4)
Installing rack (1.4.1)
Installing rack-cache (1.2)
Installing rack-test (0.6.1)
Installing hike (1.2.1)
Installing tilt (1.3.3)
Installing sprockets (2.1.3)
Installing actionpack (3.2.1)
Installing mime-types (1.19)
Installing polyglot (0.3.3)
Installing treetop (1.4.10)
Installing mail (2.4.4)
Installing actionmailer (3.2.1)
Installing arel (3.0.2)
Installing tzinfo (0.3.33)
Installing activerecord (3.2.1)
Installing activeresource (3.2.1)
Using bundler (1.2.0.pre)
Installing coffee-script-source (1.3.3)
Installing execjs (1.4.0)
Installing coffee-script (2.2.0)
Installing rack-ssl (1.3.2)
Installing json (1.7.3) with native extensions
Installing rdoc (3.12)
Installing thor (0.14.6)
Installing railties (3.2.1)
Installing coffee-rails (3.2.2)
Installing jquery-rails (2.0.2)
Installing rails (3.2.1)
Installing sass (3.1.20)
Installing sass-rails (3.2.5)
Installing sqlite3 (1.3.3) with native extensions
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native tension.
/usr/local/bin/ruby extconf.rb
checking for sqlite3.h... no
sqlite3.h is missing. Try 'port install sqlite3 +universal'
or 'yum install sqlite3-devel' and check your shared library search pat
(the location where your sqlite3 shared library is located).
* extconf.rb failed *
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the mkmf.log file for more
details. You may need configuration options.
Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/usr/local/bin/ruby
--with-sqlite3-dir
--without-sqlite3-dir
--with-sqlite3-include
--without-sqlite3-include=${sqlite3-dir}/include
--with-sqlite3-lib
--without-sqlite3-lib=${sqlite3-dir}/lib
Gem files will remain installed in /tmp/build_3kebgpytmvg9c/vendor/bund /ruby/1.9.1/gems/sqlite3-1.3.3 for inspection.
Results logged to /tmp/build_3kebgpytmvg9c/vendor/bundle/ruby/1.9.1/gem sqlite3-1.3.3/ext/sqlite3/gem_make.out
An error occurred while installing sqlite3 (1.3.3), and Bundler cannot ntinue.
Make sure that gem install sqlite3 -v '1.3.3' succeeds before bundlin
!
! Failed to install gems via Bundler.
!
! Heroku push rejected, failed to compile Ruby/rails app

To [email protected]:electric-mountain-4030.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to '[email protected]:electric-mountain-4030.git'


我做安裝sqllite3,但:

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


You've installed the binary version of sqlite3.
It was built using SQLite3 version 3.7.3.
It's recommended to use the exact same version to avoid po

At the time of building this gem, the necessary DLL files
in the following download:

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

You can put the sqlite3.dll available in this package in y directory, for example C:\Ruby\bin

============================================================
Successfully installed sqlite3-1.3.3-x86-mingw32
1 gem installed
Installing ri documentation for sqlite3-1.3.3-x86-mingw32...
Installing RDoc documentation for sqlite3-1.3.3-x86-mingw32.
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions into the js directory.

謝謝

回答

5

Heroku使用PostgreSQL數據庫而不是SQLite。所以,你必須做這樣的事情在你的Gemfile:

group :development do 
    gem 'sqlite3' 
end 

group :production do 
    gem 'pg' 
end 

這樣,你可以在生產中使用的SQLite開發和PostgreSQL(在Heroku)。通過這些設置,Heroku不會嘗試安裝導致錯誤的SQLite gem。