Задача подтолкнуть мастера к героку - PullRequest
2 голосов
/ 03 октября 2010

Я слежу за онлайн-руководством по железной дороге

Все в порядке, но при попытке протолкнуть мастер-каталог к ​​героку.Когда дело доходит до этого:

Installing rails3_serve_static_assets... done
-----> Gemfile detected, running Bundler version 1.0.0

install everything but sqlite3, here it output:
Installing sqlite3 (0.1.1) /usr/ruby1.8.7/lib/ruby/site_ruby/1.8/rubygems/installer.rb:164:in `install': sqlite3 requires Ruby version >= 1.9.1. (Gem::InstallError)
from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/source.rb:100:in `install'
        from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/installer.rb:55:in `run'
        from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/spec_set.rb:12:in `each'
        from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/spec_set.rb:12:in `each'
        from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/installer.rb:44:in `run'
        from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/installer.rb:8:in `install'
        from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/cli.rb:217:in `install'
        from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/vendor/thor/task.rb:22:in `send'
        from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/vendor/thor/task.rb:22:in `run'
        from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/vendor/thor/invocation.rb:118:in `invoke_task'
        from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/vendor/thor.rb:246:in `dispatch'
        from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/bundler-1.0.0/lib/bundler/vendor/thor/base.rb:389:in `start'
        from /usr/ruby1.8.7/lib/ruby/gems/1.8/gems/bundler-1.0.0/bin/bundle:13
        from /usr/ruby1.8.7/bin/bundle:19:in `load'
        from /usr/ruby1.8.7/bin/bundle:19
       FAILED:
 !     Heroku push rejected, failed to install gems via Bundler

Теперь дело в том, что я использую ruby ​​1.9.2, 1.8.7 даже не установлен.когда я перечисляю свои локальные драгоценные камни, bundle имеет следующие две версии: bundler (1.0.2, 1.0.1) (я не знаю почему). Поэтому кажется, что с путями что-то не так, но я не знаю, какреши это.Спасибо за вашу помощь.

Ответы [ 6 ]

14 голосов
/ 11 октября 2010

Вы идете по неверному пути - Heroku не запускает Sqlite, он запускает PostgreSQL . При развертывании приложения оно создает для вас новый файл database.yml. Так что вам не следует указывать Sqlite в вашем gemfile - вы должны указывать его только для вашей среды разработки.

Примерно так:

group :production, :staging do
  gem "pg"
end

group :development, :test do
  gem "sqlite3-ruby", :require => "sqlite3"
end

Если вы хотите узнать больше о базах данных Heroku, перейдите здесь . Я задал похожий вопрос (и получил ответ) здесь .

1 голос
/ 03 октября 2010

Вы хотите использовать камень sqlite3-ruby, а не sqlite3 камень.

0 голосов
/ 29 марта 2013

Убедитесь, что вы установили pg.По крайней мере, именно это я и сделал неправильно. Здесь вы найдете помощь в этом.Группа также выглядит как здравый совет

0 голосов
/ 22 октября 2010

Причина, по которой 1.8.7 появляется в вашем журнале, заключается в том, что это версия ruby ​​по умолчанию на heroku. Если вы хотите использовать 1.9.2, см. Документацию по переключению стеков: http://docs.heroku.com/stack

0 голосов
/ 03 октября 2010

Вы действительно хотите установить sqlite на Heroku?Разве этот драгоценный камень не должен ограничиваться только вашей средой разработки, а не производством?Вы не можете многое сделать с помощью sqlite в Heroku, видя, как вы не можете записать в файловую систему, и при этом вы не можете указать пользовательскую базу данных (Heroku полностью управляет настройкой вашей базы данных в загружаемых приложениях).

0 голосов
/ 03 октября 2010

Ruby 1.9 пока не поддерживается на heroku.Попробуйте жить с 1.8.7 (например, немного понизить ваш драгоценный камень sqlite3).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...