如何从gemset卸载带有依赖关系和文档的rails?

时间:2012-04-19 23:51:35

标签: ruby-on-rails rubygems gem rvm uninstall

我做了什么:

我错误地将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

它应该进入全球宝石集

$ 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. 如何卸载使用rails以及rdoc和ri安装的整个gem列表,而不影响同一gemset中安装的其他gem?我是否也可以在同一步骤中清除cache/文件夹?
  2. 据我所知,安装普通宝石是最佳做法 进入全局 gemset,而项目特定的宝石将进入 该项目的特定gemset。这是对的吗?
  3. 顺便说一下,/home/username/.rvm/gems/ruby-1.9.3-p125下的“错误”宝石集是什么样的?
  4. 我知道类似的问题。

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


    近似/问题1:

    我只在第一个问题上找到了an answer。因此,它不会删除rails及其依赖项,而是所有gems 。这就是我按照给出的例子所做的。根据我的理解,由于没有具体的名称,我没有留下名字。

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

    这删除了doc/gems/下的文件。但是,cache/文件夹为still filled

1 个答案:

答案 0 :(得分:1)

  1. 如何卸载整个gems列表以及rdoc和ri?
  2. gem uninstall gemname1 gemname2 ...

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

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

    1. 据我所知,最佳做法是将常用gem安装到全局gemset中,而项目特定的gem将进入该项目的特定gemset。这是对的吗?
    2. 是的,这是对的。所有Gemsets都可以从相同的Ruby版本中获得全局gemset。

      1. 顺便说一下,/home/username/.rvm/gems/ruby-1.9.3-p125下的“错误”gemset是什么好的?
      2. 我认为这是全球性的。尝试“gemset list”就是哪一个。在使用当前的一个之前将有一个=符号并且>在默认gemset之前签名。

        我想也许你的宝石没有错,它可能就是你想要的。尝试制作一个新的Gemset,然后更改它并列出所有宝石,可能你会看到你所有的宝石。

        您可以随时删除整个gemset(全局除外):

        gemset delete gemsetname

        另外,您可能希望安装不带ri和rdoc的rails:

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