我在Mac Mini Server(Mavericks 10.9.1)上运行ruby 2.0.0-p247。我读到有一个安全漏洞,所以我决定升级使用最新的Ruby补丁2.0.0-p353。我做了以下命令:
gem update --system (RubyGems 2.1.11)
rvm get stable (RVM 1.25.0)
rvm upgrade 2.0.0-p247 2.0.0-p353 (which should have moved my gemsets)
我的系统中没有任何内容可以在rvm中找到引用2.0.0-p247,这是我的预期。当我去〜/ myuser / .rvm / environments时,没有文件2.0.0-p247。
我现在正试图开始乘客。我安装了4.0.23版企业版。我试图运行rvmsudo passenger-install-apache2-module
,但收到了错误。
cd /Users/myuser/.rvm/gems/ruby-2.0.0-p353@mygemset/gems/passenger-enterprise-server-4.0.23
/Users/myuser/.rvm/wrappers/ruby-2.0.0-p353@ mygemset/rake apache2:clean apache2 RELEASE=yes
# /Users/myuser/.rvm/wrappers/ruby-2.0.0-p353@ mygemset/rake apache2:clean apache2 RELEASE=yes
ERROR: Missing RVM environment file: '/Users/myuser/.rvm/environments/ruby-2.0.0-p247@LightBeCorp_Rails4Ruby2'
以下是我的.bashrc文件中与rvm相关的语句,如果这有用的话。
[[ -s "$HOME/.rvm/scripts/rvm" ]]
PATH="$PATH:$HOME/.rvm/gems/ruby-1.9.3-p327@mygemset/bin:/.rvm/rubies/ruby-1.9.3-p327/bin/ruby:/.rvm/rubies/ruby-1.9.3-p448/bin/ruby:/.rvm/rubies/ruby-2.0.0-p353/bin/ruby:/usr/bin/psql:/usr/local:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin"
我做了一个rvm list rubies
命令。 ruby-2.0.0-p247未列出。
任何帮助将不胜感激。我会继续寻找。我计划在Phusion Passenger小组中发布一个链接。
更新12/21/2013 12:20 pm
我将.bashrc文件更新为以下内容,因为我不再使用Rails应用程序中的其他rubies。当我尝试运行rvmsudo passenger-install-apache2-module
时,我仍然收到错误。
[[ -s "$HOME/.rvm/scripts/rvm" ]]
PATH="$PATH:$HOME/.rvm/rubies/ruby-2.0.0-p353/bin/ruby:/usr/bin/psql:/usr/local:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin"
答案 0 :(得分:2)
看起来像个错误,请在这里打开一张票:https://github.com/wayneeseguin/rvm/issues
确实这是一个错误,修复它运行:
rvm get head
rvm gemset reset_env
您可以为每个损坏的宝石集重复reset_env
操作:
rvm ruby@gemset do rvm gemset reset_env
答案 1 :(得分:0)
您的RVM路径中可能存在缓存的bin文件。就我而言,它是" / usr / local / rvm / bin / unicorn"
此外,您可能无法在Gemfile中直接使用gem。就我而言,我没有"独角兽"在我的Gemfile中虽然我有" capistrano-unicorn"。
这样系统就会尝试使用全局缓存文件" / usr / local / rvm / bin / unicorn"。
文件的内容可能使用了您不再使用的红宝石。
if [[ -s "/usr/local/rvm/environments/ruby-2.0.0-p247" ]]
then
source "/usr/local/rvm/environments/ruby-2.0.0-p247"
exec unicorn "$@"
else
echo "ERROR: Missing RVM environment file: '/usr/local/rvm/environments/ruby-2.0.0-p247'" >&2
exit 1
fi