I have recently switched from using Ubuntu system Ruby to using RVM. When I run foreman start
I get a not found error for whatever the command is in my Procfile.
我最近从使用Ubuntu系统Ruby转向使用RVM。当我运行foreman start时,无论命令在我的Procfile中是什么,我都会得到一个未找到的错误。
My current Procfile is:
我目前的Procfile是:
web: bundle exec unicorn -p $PORT -c ./unicorn.rb
So the error is:
所以错误是:
/home/timmillwood/.rvm/gems/ruby-1.9.3-p327/gems/foreman-0.60.2/bin/foreman-runner: 41: exec: bundle: not found
which foreman
returns
哪个领班回来了
/home/timmillwood/.rvm/gems/ruby-1.9.3-p327/bin/foreman
which bundle
returns
哪个包返回
/home/timmillwood/.rvm/gems/ruby-1.9.3-p327/bin/bundle
The output from rvm info
is:
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: ""
I have also tried using rbenv with exactly the same issues. Foreman worked fine which I was using the system ruby, but I have purged these from Ubuntu and want to use RVM or rbenv so I can run Ruby 1.9 and 1.8.
我也试过使用rbenv完全相同的问题。 Foreman工作得很好,我使用的是系统ruby,但是我已经从Ubuntu中清除了这些并希望使用RVM或rbenv,所以我可以运行Ruby 1.9和1.8。
It's as if foreman can't find the bundle binary. I can run bundle exec ruby web.rb
or ruby web.rb
to run a sinatra app, but that fails because it's not loading my environment variables from .env like foreman does. I could use rack-env to load my .env file, then load my sinatra app using ruby web.rb
but would rather use foreman.
好像工头找不到捆绑二进制文件。我可以运行bundle exec ruby web.rb或ruby web.rb来运行sinatra应用程序,但是失败了,因为它没有像工头一样从.env加载我的环境变量。我可以使用rack-env加载我的.env文件,然后使用ruby web.rb加载我的sinatra应用程序,但宁可使用工头。
Any ideas what's wrong?
有什么想法有什么不对吗?
2 个解决方案
#1
12
Turns out I had PATH
overridden in my .env file I generated via heroku config:pull
. Deleting that line has solved the problem.
结果我在我通过heroku config生成的.env文件中覆盖了PATH:pull。删除该行已解决了该问题。
Thanks all, nothing to see here.
谢谢大家,这里没有什么可看的。
#2
1
seams like your ~/.profile
could overwrite PATH
-> https://github.com/ddollar/foreman/blob/master/bin/foreman-runner#L37, make sure there is no PATH=...
in ~/.profile
or any other file loaded with it.
像〜/ .profile这样的接缝可以覆盖PATH - > https://github.com/ddollar/foreman/blob/master/bin/foreman-runner#L37,确保〜/中没有PATH = ...配置文件或任何其他文件加载它。
#1
12
Turns out I had PATH
overridden in my .env file I generated via heroku config:pull
. Deleting that line has solved the problem.
结果我在我通过heroku config生成的.env文件中覆盖了PATH:pull。删除该行已解决了该问题。
Thanks all, nothing to see here.
谢谢大家,这里没有什么可看的。
#2
1
seams like your ~/.profile
could overwrite PATH
-> https://github.com/ddollar/foreman/blob/master/bin/foreman-runner#L37, make sure there is no PATH=...
in ~/.profile
or any other file loaded with it.
像〜/ .profile这样的接缝可以覆盖PATH - > https://github.com/ddollar/foreman/blob/master/bin/foreman-runner#L37,确保〜/中没有PATH = ...配置文件或任何其他文件加载它。