【问题标题】:cannot load such file -- rubygems.rb when trying to uninstall rvm尝试卸载 rvm 时无法加载此类文件 - ruby​​gems.rb
【发布时间】:2016-03-08 08:52:43
【问题描述】:

我对 Ubuntu 有点陌生。 尝试安装捆绑包时出现此错误:

$ sudo gem install bundle
 ⏎  <internal:gem_prelude>:1:in `require':
 ⏎  cannot load such file -- rubygems.rb (LoadError)    from
 ⏎  <internal:gem_prelude>:1:in `<compiled>'

在一些类似的问题中,建议完全去掉rvm和ruby,所以我尝试按照here的答案。

rvm preload 工作,但是当我尝试gem uninstall rvm 时,我得到了同样的信息......

$ gem uninstall rvm
 ⏎  <internal:gem_prelude>:1:in `require': cannot load such file -- > rubygems.rb (LoadError)
 ⏎  from <internal:gem_prelude>:1:in `<compiled>'

当我做ruby -v 时,我得到了:

$ ruby -v
 ⏎  The program 'ruby' can be found in the following packages:
 ⏎   * ruby
 ⏎   * ruby1.8
 ⏎  Try: sudo apt-get install <selected package>

我按照建议尝试sudo apt-get install ruby,它返回:

ruby 已经是最新版本了。

[...]

0 个已升级,0 个新安装,0 个要移除,0 个未升级。

我想从我的计算机中清除所有与 ruby​​ 相关的软件包并重新启动它。你能帮我做吗?

更多细节可能会有所帮助:

在进行rvm implode 之前,我从我的.bashrc.bash_profile 文件中清除了每个 rvm 或 gem 相关行。

$ ls /usr/lib/ruby

$ ls /usr/bin/ruby

返回一个空目录。

/usr/lib 没有其他有趣的目录,但/usr/bin 有:

$ ls /usr/bin
 ⏎   [...] rake rake1.9.1 rake2.2 rdoc 
 ⏎   rdoc1.9.1 rdoc2.2 ri ri1.9.1 ri2.2 ruby1.9.1 ruby2.2

/usr/local/lib 也没有有趣的目录,但是:

$ ls /usr/local/bin
 ⏎   [...]   bundle  bundler  rake

【问题讨论】:

  • gem uninstall rvm rvm 不是宝石。
  • 这是我添加的链接中评价最高的分析器。这不是我应该做的吗?

标签: ruby linux ubuntu


【解决方案1】:

Ruby 开发人员通常更喜欢使用 rvm,这意味着 ruby​​ 和 gems 将作为 rvm 的一部分进行管理,您必须避免使用操作系统工具(apt、yum、pacman 等)安装所有与 ruby​​ 相关的软件。

安装mc(对学习linux很有帮助)和curl:

sudo apt install mc curl && mc

在“面板”选项中激活“显示隐藏文件”选项,使用 F8 删除您的 .rvm 目录。离开 mc 并以普通用户身份运行:

$ gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3

$ \curl -sSL https://get.rvm.io | bash -s stable

【讨论】:

  • 谢谢!我有两个问题:为什么我需要 mc?一个简单的 ls -a 不会起作用吗?湾。删除 .rvm 似乎有效,但现在我在尝试“gem install bundle”或运行“bundle -v”(“哪个包”返回“/usr/local/bin/bundle”)时遇到同样的错误。这是否意味着我并没有真正删除所有内容并像我希望的那样从头开始?
  • 1) 在我看来,您是 Linux 的新手,所以我建议使用 MC,因为它可以以更直观的方式向您显示额外的信息。但不,没有必要。 2) 尽量避免在所有 rvm、ruby、gems 东西中使用“sudo”。首先安装 rvm,rvm 不是 gem,所以“gem uninstall rvm”没有意义。然后用 gem 安装包。
【解决方案2】:

运行gem install时,不要使用sudo

如果你想使用rvm,不要使用sudo apt-get install ruby通过包管理器安装ruby。

【讨论】:

  • 谢谢你,首先。我没有在 gem install 上使用 sudo,我问题中的所有命令都与我使用的完全一样。我正在尝试删除所有内容并重新开始,但缺少的 .rb 文件不会让我以我在此处的其他问题上找到的方式这样做。
  • 您帖子的第二行是sudo gem install bundle。看起来像你?
  • 哦,对不起,我的错...但是为什么会有问题呢?为什么安装东西时不能使用'sudo'?
猜你喜欢
  • 2014-10-09
  • 1970-01-01
  • 1970-01-01
  • 2016-11-03
  • 1970-01-01
  • 1970-01-01
  • 2015-01-22
  • 2012-10-25
  • 2012-02-27
相关资源
最近更新 更多