2013-08-20 59 views
0

我有2个版本,使用RVM红宝石的,我想删除我的所有的宝石在这个红宝石version 1.8.7-p302拆卸宝石错误

首先我试过,但我得到了错误

➜ ~ gem list | cut -d" " -f1 | xargs gem uninstall -aIx 
Successfully uninstalled actionmailer-2.3.5 
Successfully uninstalled actionmailer-2.3.18 
Successfully uninstalled actionpack-2.3.5 
Successfully uninstalled actionpack-2.3.18 
Successfully uninstalled activerecord-2.3.5 
Successfully uninstalled activerecord-2.3.18 
Successfully uninstalled activeresource-2.3.5 
Successfully uninstalled activeresource-2.3.18 
Successfully uninstalled activesupport-2.3.5 
Successfully uninstalled activesupport-2.3.18 
Removing bundle 
Successfully uninstalled bundler-1.3.5 
ERROR: While executing gem ... (Gem::InstallError) 
    cannot uninstall, check `gem list -d bundler-unload` 

然后我试着这也是一个错误

➜ ~ gem list --no-version | xargs gem uninstall -aIx 
zsh: correct 'gem' to '.gem' [nyae]? n 
ERROR: While executing gem ... (Gem::InstallError) 
    cannot uninstall, check `gem list -d bundler` 

我Gemlist:

➜ ~ gem list                     

*** LOCAL GEMS *** 

bundler (1.3.5) 
bundler-unload (1.0.1) 
declarative_authorization (0.5.1) 
fattr (2.2.1) 
i18n (0.4.2) 
mysql (2.9.1, 2.8.1) 
rack (1.1.6, 1.0.1) 
rails (2.3.18, 2.3.5) 
rake (10.1.0, 0.8.7) 
rubygems-bundler (1.2.2) 
rush (0.6.8) 
rvm (1.11.3.8) 
session (3.1.0) 
sqlite3 (1.3.8) 

更新:

我试图删除红宝石1.8.7,然后安装它,但宝石依然存在 当我键入我得到这个

➜ ~ rvm gemset empty default 
Are you SURE you wish to remove the installed gems for gemset 'ruby-1.8.7-p302' (/home/dexter/.rvm/gems/ruby-1.8.7-p302)? 
(anything other than 'yes' will cancel) > yes 
➜ ~ gem list 

*** LOCAL GEMS *** 

bundler (1.3.5) 
bundler-unload (1.0.1) 
rake (10.1.0) 
rubygems-bundler (1.2.2) 
rvm (1.11.3.8) 
➜ ~ gem list --no-version | xargs gem uninstall -aIx 
zsh: correct 'gem' to '.gem' [nyae]? n 
INFO: gem "bundler" is not installed 
INFO: gem "bundler-unload" is not installed 
INFO: gem "rake" is not installed 
INFO: gem "rubygems-bundler" is not installed 
INFO: gem "rvm" is not installed 

现在我无法再次安装导轨!

➜ ~ gem rails -v '2.3.5' 
ERROR: While executing gem ... (RuntimeError) 
    Unknown command rails 

回答

4

USING RVM

1)安装RVM。

在其余的步骤:

永远不要使用sudo

2)安装红宝石(选择一个版本):

$ rvm install 1.9.3 

3)确保RVM当前红宝石是您想要为您的应用程序使用的版本:

$ rvm list 

,如有必要:

$ rvm use 1.9.3-p194 #Sometimes you have to specify the patch number as well, e.g p194 

4)创建为您的应用宝石:

$ rvm gemset create myapp_gemset 

5)你可以列出gemsets当前红宝石版本:

$ rvm gemset list 

,如果需要切换到您刚刚创建的宝石组:

$ rvm gemset use myapp_gemset 

6)安装导轨宝石:

$ gem install rails --version 4.0.0 

该命令将在创业板安装到当前的宝石。您可以检查版本:

$ rails -v 

有一个快捷键,你可以用它来选择红宝石版本和以前的那红宝石版本创建的宝石:

$ rvm use [email protected]_gemset 

您还可以设置一个默认的红宝石和宝石,当你打开一个新的终端窗口将被选中:

$ rvm use [email protected]_gemset --default 

或者,你可以设置你的Gemfile在你的应用程序,以便RVM切换到指定的红宝石版和宝石,当你将目录切换到应用程序的目录:

的Gemfile:

ruby '1.9.3' #(no patch number allowed here) 
#ruby-gemset=myapp_gemset 

RVM将读取你的Gemfile这一评论,然后切换到上一行的红宝石版本,并在注释中指定的宝石。

。 。

https://rvm.io/gemsets/deleting

删除Gemsets

当你删除一个宝石,RVM将提示您确认删除。

$ rvm gemset use albinochipmunk 
$ rvm gemset delete albinochipmunk 

要跳过确认,传递--force标志:

$ rvm gemset use albinochipmunk 
$ rvm --force gemset delete albinochipmunk 

默认情况下,RVM从当前选定Ruby解释器 删除gemsets。若要从不同的解释器宝石,说 1.9.2,运行命令是这样的:

$ rvm 1.9.2 do gemset delete albinochipmunk 

如果不使用宝石可言,你在“默认”的宝石的

https://rvm.io/gemsets/emptying

清空Gemsets

如果您清空一个宝石,RVM会提示您 确认。此操作将删除安装在gemset中的所有gem。

$ rvm gemset use albinochipmunk 
$ rvm gemset empty albinochipmunk 

要跳过确认,传递--force标志:

$ rvm gemset use albinochipmunk 
$ rvm --force gemset empty albinochipmunk 
+0

我没有使用宝石! ,我所做的只是安装一个红宝石版本1.8.7然后gem install rails -v 2.3.5 –

+0

请参阅我的文章的补充 - 您应该清空默认的gemset。 – 7stud

+0

如果您切换到ruby的版本'$ rvm use 1.8.7-p302',那么执行'$ rvm gemset list',您会看到该版本的所有gemset。默认和全局gemsets会自动为您创建。你可能不应该删除它们。如果您切换到gemset'$ rvm gemset use mygemsA',您可以通过执行'$ gem list'来查看gemset中的所有宝石。这将允许您确认您的所有宝石是否进入了默认的宝石镶嵌。 – 7stud

0

RVM安装在global一些宝石宝石可以卸载这些宝石:

rvm @global do gem uninstall gem_name 

如果您不想使用任何宝石套装(除单枚宝石级宝石套装外)使用:此:

echo rvm_ignore_gemsets_flag=1 >> ~/.rvmrc 

,从现在起RVM将只使用单一的宝石 - 没有global