Rails 3.1 Развертывание в Heroku Ошибка - PullRequest
13 голосов
/ 03 июня 2011

Я пытаюсь развернуть свое приложение в Heroku, я делал это раньше на моей машине с Windows, и сейчас я использую Mac.

Я пытаюсь использовать Postgresql для первоговремя.

В моем Gemfile есть следующее:

gem 'pg'

РЕДАКТИРОВАТЬ:

AndrewDavis-OSX:lunchbox ardavis$ rvm list

rvm rubies

=> ruby-1.9.2-p180 [ x86_64 ]

AndrewDavis-OSX:lunchbox ardavis$ heroku rake db:migrate
rake aborted!
/app/config/initializers/session_store.rb:3: syntax error, unexpected ':', expecting $end
App::Application.config.session_store :cookie_store, key: '_app_session'
                                                        ^

(See full trace by running task with --trace)
(in /app)

Как видите, я использую ruby ​​1.9.2.И есть ошибка для моей миграции heroku.

EDIT 2:

Только что создал новое приложение rails, используя Rails 3.1.rc1.Я установил в gemfile

group: production do gem 'therubyracer-heroku', '0.8.1.pre3' gem 'pg' end

Я сделал быстрый git init, поручил,затем 'Heroku Create' и 'Git Push Heroku Master'.Те, все работают просто отлично.Однако проблема заключается в том, когда я пытаюсь использовать 'heroku rake db: migrate'.Я получаю ту же ошибку, что вы видите выше.

РЕДАКТИРОВАНИЕ ТЕМП. ФИКСАЦИИ:

Итак ... если я изменю свой config / initializers / session_store.rb с

App::Application.config.session_store :cookie_store, key: '_app_session'

на

App::Application.config.session_store :cookie_store, :key => '_app_session'

и измените мой config / initializers / wrap_parameters.rb с

ActionController::Base.wrap_parameters format: [:json]

на

ActionController::Base.wrap_parameters :format => [:json]

Тогда я смогу сделать 'herokuграбли дБ: мигрировать "просто отлично.Кто-нибудь хочет объяснить, почему это работает локально оригинальным способом, без каких-либо модификаций двоеточий / хэшей?Первоначальный способ - это сгенерированное значение по умолчанию для выполнения 'rails new myApp'

Ответы [ 3 ]

11 голосов
/ 04 июня 2011

Стек Heroku необходимо перенести, вы можете выполнить следующую команду:

heroku stack:migrate bamboo-mri-1.9.2 

Я запускал 1.9.2 локально, поэтому он работал локально. Но на Heroku он работал 1.8.7.

4 голосов
/ 20 декабря 2011

Проблема в том, что в Ruby 1.9.2 доступен новый хэш-аргумент, но в Ruby 1.8.7 он недоступен:

key: value  # only available in 1.9.2 but

:key => value # available in 1.8.7 and 1.9.2
2 голосов
/ 26 января 2012

Это просто дополнительный указатель на некоторых.Если вы когда-либо сталкивались с той же ошибкой в ​​вашей среде разработки, в приложении, которое функционировало всего несколько минут назад, проверьте вашу версию ruby, как упоминалось выше в Preksha / Alex Kliuchnikau.

$ ruby -v

Если ruby ​​не установлен на 1.9.2 или выше, вы можете сделать это с помощью rvm

   $ rvm --default 1.9.2   (1.9.3 is what I currently use)

Если он не отвечает на команду rvm, добавьте rvm в ваш файл bashrcскопировав следующую строку в свой терминал:

echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" ' >> ~/.bash_profile
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...