首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误:执行RVM升级命令后缺少rvm环境文件-客运4.0.23

错误:执行RVM升级命令后缺少rvm环境文件-客运4.0.23
EN

Stack Overflow用户
提问于 2013-12-20 13:39:03
回答 2查看 2.8K关注 0票数 1

我在我的Mini服务器上运行ruby2.0.0-p 247(小牛10.9.1)。我读到有一个安全漏洞,所以我决定升级使用最新的Ruby补丁2.0.0-p 353。我执行了以下命令:

代码语言:javascript
复制
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/环境时,没有文件2.0.0-p247。

我现在正试着开始乘客。我安装了4.0.23版本的企业。我试图运行rvmsudo passenger-install-apache2-module,但得到了一个错误。

代码语言:javascript
复制
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'

下面是与rvm相关的.bashrc文件中的语句,如果这有帮助的话。

代码语言:javascript
复制
[[ -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-p 247没有列出。

任何帮助都将不胜感激。我会继续找。我计划在普华客运集团发布一个链接。

更新2013年12月21日12:20下午12:20

我将.bashrc文件更新为以下内容,因为我不再在Rails应用程序中使用其他红宝石。当我试图运行rvmsudo passenger-install-apache2-module时,仍然会遇到错误。

代码语言:javascript
复制
[[ -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"
EN

回答 2

Stack Overflow用户

发布于 2013-12-20 21:27:00

看上去像个窃听器,请在这里开一张票:https://github.com/wayneeseguin/rvm/issues

实际上,这是一个bug,要修复它,运行:

代码语言:javascript
复制
rvm get head
rvm gemset reset_env

您可以对每个损坏的宝石集重复reset_env操作:

代码语言:javascript
复制
rvm ruby@gemset do rvm gemset reset_env
票数 3
EN

Stack Overflow用户

发布于 2015-02-14 10:51:07

在RVM路径中可能有一个缓存的bin文件。在我的例子中,是"/usr/local/rvm/bin/unicorn“

此外,您也不能直接在Gemfile中使用gem。在我的例子中,我没有“独角兽”在我的Gemfile,虽然我有“卡皮斯特拉诺-独角兽”。

这样,系统将尝试使用全局缓存文件"/usr/local/rvm/bin/unicorn“。

该文件的内容可能使用您不再使用的红宝石。

代码语言:javascript
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20704890

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档