2012-04-19 21 views
0

我做了什么:如何从gemset中卸载具有依赖项和文档的rails?

我安装导轨错误的错宝石

$ 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/[email protected] 
$ gem install rails 

问题:

  1. 如何卸载与导轨以及RDoc的和里安装不影响安装在相同的宝石其他宝石宝石的整个名单?我也可以在同一步骤清洁cache/文件夹吗?
  2. 据我了解它是 安装常用的宝石到全球宝石,而项目的具体宝石将进入 该项目的具体宝石的最佳实践。那是对的吗?
  3. 顺便说一句,/home/username/.rvm/gems/ruby-1.9.3-p125下的“错误”宝石是什么?

我意识到类似这样的问题。

虽然,我不想重新安装或更新的轨道。我只是想从特定的gemset中移除它。


逼近/问题1:

我只找到an answer第一个问题。因此,它不会删除rails和它的依赖关系,但是所有的ged都是。这是我按照给出的例子所做的。据我了解,由于没有具体的名称,因此我忽略了名称。

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

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

+0

哦,对了RVM gemset empty更好,在我的回答中忘了它,不错 – YogiZoli 2012-04-20 00:13:30

回答

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

gem uninstall gemname1 gemname2 ...

还将删除里和RDoc的,只列出了宝石的名称,而无需任何逗号。(你可以列出所有使用“宝石列表”)

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

  1. 据我所知,最好的做法是将通用宝石安装到全局gemset中,而项目特定宝石将进入该项目的特定gemset。那是对的吗?

是的,这是正确的。所有Gemset都来自同一个Ruby版本。

  1. 顺便说一句,什么是/home/username/.rvm/gems/ruby-1.9.3-p125下的“错误”的宝石好故事?

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

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

您可以整体卸下宝石随时随地(除全球):

gemset delete gemsetname

你也可能希望在不里和RDoc的安装导轨:

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

+0

所有'rvm gemset list'提示给我的是gemsets'global'和'=> my_project'(当我在项目文件夹中时)。但在'〜/ .rvm /'中我可以找到三个文件夹,分别是'ruby-1.9.3-p125','ruby-1.9.3-p125 @ global','ruby-1.9.3-p125 @ my_project'。 – JJD 2012-04-20 00:21:51

+0

好吧,我想我会在不使用任何Gemset的情况下删除所有gem(由rvm gemset empty),然后将Rails安装到全局,然后在my_project中启动该项目。 – YogiZoli 2012-04-20 00:36:00

+0

我在本地检查了它,对于那些没有以@gemsetname结尾的文件夹,所以像ruby-1.9.3-p125都是空的。在你的本地? – YogiZoli 2012-04-20 00:36:06

相关问题