0

我做了什么:

我错误地将 rails 安装到了错误的 gemset上。

$ rvm use 1.9.3
Using /home/username/.rvm/gems/ruby-1.9.3-p125
$ gem env gemdir
/home/username/.rvm/gems/ruby-1.9.3-p125
$ gem install rails

它应该进入global gemset

$ rvm use 1.9.3
Using /home/username/.rvm/gems/ruby-1.9.3-p125
$ rvm gemset use global
Using ruby-1.9.3-p125 with gemset global
$ gem env gemdir
/home/username/.rvm/gems/ruby-1.9.3-p125@global
$ gem install rails

问题:

  1. 如何在不影响安装在同一 gemset 中的其他 gem 的情况下卸载使用 rails 以及 rdoc 和 ri 安装的整个 gem 列表?我也可以cache/在同一步骤中清理文件夹吗?
  2. 据我了解,将通用 gem 安装到全局gemset 是最佳实践,而项目特定的 gem 将进入该项目的特定 gemset。那是对的吗?
  3. 顺便说一句,无论如何,“错误”的宝石是/home/username/.rvm/gems/ruby-1.9.3-p125什么?

我知道类似的问题。

不过,我不想重新安装或更新 rails。我只是想从那个特定的 gemset 中删除它。


近似/问题1:

我只找到了第一个问题的答案。因此,它不会删除 rails 及其依赖项,而是删除所有 gems。这就是我按照给出的示例所做的。据我所知,由于没有具体的名称,所以我省略了名称。

rvm use 1.9.3
Using /home/username/.rvm/gems/ruby-1.9.3-p125
rvm gemset empty

这删除了 ​​和 下的doc/文件gems/。但是,cache/文件夹仍然被填满

4

1 回答 1

1
  1. 如何卸载整个 gem 列表以及 rdoc 和 ri?

gem uninstall gemname1 gemname2 ...

还将删除 ri 和 rdoc,只列出 gem 的名称,不带任何逗号。(您可以列出所有使用“宝石列表”)

更新:“rvm gemset empty”确实工作得更快。

  1. 据我了解,将通用 gem 安装到全局 gemset 是最佳实践,而项目特定的 gem 将进入该项目的特定 gemset。那是对的吗?

是的,这是正确的。来自同一 Ruby 版本的所有 Gemset 都可以访问全局 gemset。

  1. 顺便说一句,/home/username/.rvm/gems/ruby-1.9.3-p125 下的“错误”gemset 无论如何都有用?

我认为这是全球性的。试试“gemset list”是哪一个。在当前使用的之前会有一个 = 符号,在默认 gemset 之前会有一个 > 符号。

我想也许你的宝石没有错,这可能是你想要的。尝试制作一个新的 Gemset,并对其进行更改并列出所有宝石,可能您会看到所有宝石。

您可以通过以下方式随时移除整个 gemset(全局除外):

gemset delete gemsetname

此外,您可能想要安装没有 ri 和 rdoc 的 rails:

gem install rails --no-ri --no-rdoc

于 2012-04-20T00:12:26.043 回答