2014-01-21 3 views
0

Я использую приложение Rails 3.2 для heroku уже несколько недель. Я также выполнял задачи rake в стеке Кедра, где находится мое приложение.Heroku: куда мои драгоценные камни ушли?

Через день после развертывания я заметил, что rake больше не работает. Я получаю, например, следующее:

$:~/dev/my_project$ heroku run rake -T 
Running `rake -T` attached to terminal... up, run.7566 
bundler: command not found: rake 
Install missing gem executables with `bundle install` 

Попытка выполнения команды с bundle exec дает те же результаты.

Что я пробовал:

  1. heroku run bundle install. Это работает и сообщает мне, что драгоценные камни были установлены в ./vendor/bundle. Однако heroku run ls ./vendor/bundle дает лишь следующее:

    $:~/dev/my_project$ heroku run ls ./vendor/bundle/

    Running Ls ./vendor/bundle/ attached to terminal... up, run.3458

    bin ruby

  2. bundle package. Хотя развертывание работает, это не помогает моей проблеме.

  3. fiddling вокруг с драгоценным камнем rubygems-bundler (хотя я думаю, что теперь это часть основного комплекта). Это, похоже, не имеет никакого эффекта.

+0

try: 'heroku run bundle show rake' –

+0

OK, выход: /app/vendor/bundle/ruby/2.0.0/gems/rake-10.1.0 –

+0

so * rake * драгоценный камень установлен. странно, почему он не может быть запущен –

ответ

1

На Героку драгоценные камни установлены в каталоге vendor/bundle/ruby/<version>/gems. Я просто проверил свой экземпляр Heroku и подтвердил это.

+0

Хорошо, это очень интересно. Мои драгоценные камни определенно существуют, и следующая команда _does_ работает: 'heroku run./Vendor/bundle/ruby ​​/ 2.0.0/gems/rake-10.1.0/bin/rake'. Итак, любые мысли о том, почему мое приложение не может найти «рейк» в его PATH? –

0

Вы собираетесь использовать bundle exec rake task, потому что драгоценных камней нет в пользовательских ПУТЯХ.

+0

Я пробовал это уже без везения. Я уточню свой вопрос. –

Смежные вопросы