Foreman start возвращает пакет, не найденный

Недавно я перешел с использования системы Ubuntu Ruby на использование RVM. Когда я запускаю foreman start, я получаю сообщение об ошибке не найдено для любой команды в моем Procfile.

Мой текущий Procfile:

web: bundle exec unicorn -p $PORT -c ./unicorn.rb

Итак, ошибка:

/home/timmillwood/.rvm/gems/ruby-1.9.3-p327/gems/foreman-0.60.2/bin/foreman-runner: 41: exec: bundle: not found

which foreman возвращается

/home/timmillwood/.rvm/gems/ruby-1.9.3-p327/bin/foreman

which bundle возвращается

/home/timmillwood/.rvm/gems/ruby-1.9.3-p327/bin/bundle

Выход из rvm info:

ruby-1.9.3-p327:

  system:
    uname:       "Linux ubuntu 3.5.0-19-generic #30-Ubuntu SMP Tue Nov 13 17:48:01 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux"
    system:      "ubuntu/12.10/x86_64"
    bash:        "/bin/bash => GNU bash, version 4.2.37(1)-release (x86_64-pc-linux-gnu)"
    zsh:         " => not installed"

  rvm:
    version:      "rvm 1.17.3 (stable) by Wayne E. Seguin <[email protected]>, Michal Papis <[email protected]> [https://rvm.io/]"
    updated:      "1 hour 10 minutes 26 seconds ago"

  ruby:
    interpreter:  "ruby"
    version:      "1.9.3p327"
    date:         "2012-11-10"
    platform:     "x86_64-linux"
    patchlevel:   "2012-11-10 revision 37606"
    full_version: "ruby 1.9.3p327 (2012-11-10 revision 37606) [x86_64-linux]"

  homes:
    gem:          "/home/timmillwood/.rvm/gems/ruby-1.9.3-p327"
    ruby:         "/home/timmillwood/.rvm/rubies/ruby-1.9.3-p327"

  binaries:
    ruby:         "/home/timmillwood/.rvm/rubies/ruby-1.9.3-p327/bin/ruby"
    irb:          "/home/timmillwood/.rvm/rubies/ruby-1.9.3-p327/bin/irb"
    gem:          "/home/timmillwood/.rvm/rubies/ruby-1.9.3-p327/bin/gem"
    rake:         "/home/timmillwood/.rvm/gems/ruby-1.9.3-p327@global/bin/rake"

  environment:
    PATH:         "/home/timmillwood/.rvm/gems/ruby-1.9.3-p327/bin:/home/timmillwood/.rvm/gems/ruby-1.9.3-p327@global/bin:/home/timmillwood/.rvm/rubies/ruby-1.9.3-p327/bin:/home/timmillwood/.rvm/bin:/usr/local/heroku/bin:/home/timmillwood/Support-Tools/bin:/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
    GEM_HOME:     "/home/timmillwood/.rvm/gems/ruby-1.9.3-p327"
    GEM_PATH:     "/home/timmillwood/.rvm/gems/ruby-1.9.3-p327:/home/timmillwood/.rvm/gems/ruby-1.9.3-p327@global"
    MY_RUBY_HOME: "/home/timmillwood/.rvm/rubies/ruby-1.9.3-p327"
    IRBRC:        "/home/timmillwood/.rvm/rubies/ruby-1.9.3-p327/.irbrc"
    RUBYOPT:      ""
    gemset:       ""

Я также пытался использовать rbenv с точно такими же проблемами. Форман работал нормально, когда я использовал системный рубин, но я очистил его от Ubuntu и хочу использовать RVM или rbenv, чтобы я мог запускать Ruby 1.9 и 1.8.

Как будто бригадир не может найти бинарный файл пакета. Я могу запустить bundle exec ruby web.rb или ruby web.rb для запуска приложения sinatra, но это не работает, потому что оно не загружает мои переменные среды из .env, как это делает мастер. Я мог бы использовать rack-env для загрузки файла .env, а затем загрузить приложение sinatra с помощью ruby web.rb, но предпочел бы использовать foreman.

Есть идеи, что не так?


person Community    schedule 16.12.2012    source источник
comment
Вы делаете «начальный запуск комплекта»?   -  person CubaLibre    schedule 16.12.2012
comment
Нет, я не такой, и если я попробую, это даст точно такой же результат.   -  person    schedule 16.12.2012


Ответы (2)


Оказывается, я переопределил PATH в моем файле .env, который я создал с помощью heroku config:pull. Удаление этой строки решило проблему.

Всем спасибо, здесь не на что смотреть.

person Community    schedule 17.12.2012

такие швы, как ваш ~/.profile, могут перезаписать PATH -> https://github.com/ddollar/foreman/blob/master/bin/foreman-runner#L37 убедитесь, что в ~/.profile нет PATH=... или любого другого файла, загруженного вместе с ним.

person mpapis    schedule 16.12.2012
comment
У меня были: export PATH="/home/timmillwood/perl5/bin:$PATH"; и PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting в моем .bashrc, но после их удаления и перезапуска терминала у меня осталась та же проблема. - person ; 17.12.2012
comment
Есть несколько PATH=..., но их комментирование не помогает, и все они добавляют, а не заменяют PATH, но имеют $PATH в начале или в конце. - person ; 17.12.2012