6

最近、UbuntuシステムRubyの使用からRVMの使用に切り替えました。実行するforeman startと、Procfileにあるコマンドが何であれ、notfoundエラーが発生します。

私の現在の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 <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [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を使用してみました。Foremanは、システムrubyを使用していたので問題なく動作しましたが、Ubuntuからこれらを削除し、Ruby1.9および1.8を実行できるようにRVMまたはrbenvを使用したいと考えています。

まるでフォアマンがバンドルバイナリを見つけられないかのようです。sinatraアプリを実行bundle exec ruby web.rbまたは実行できruby web.rbますが、フォアマンのように.envから環境変数が読み込まれないため、失敗します。Rack-envを使用して.envファイルをロードしてから、を使用してsinatraアプリをロードすることもできますが、ruby web.rbフォアマンを使用したいと思います。

何が問題なのですか?

4

2 に答える 2

12

PATHを介して生成した.envファイルでオーバーライドしたことが判明しheroku config:pullました。その行を削除すると、問題は解決しました。

おかげさまで、ここには何も表示されません。

于 2012-12-17T15:07:44.500 に答える
0

あなたのような継ぎ目~/.profileは上書きする可能性がありますPATH-> https://github.com/ddollar/foreman/blob/master/bin/foreman-runner#L37 、それがロードされているファイルや他のファイルがないことを確認してPATH=...ください。~/.profile

于 2012-12-16T23:20:07.713 に答える