删除Gems错误

我有2个版本的ruby使用RVM,我试图删除我的gemversion 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) 

更新:

我试图删除ruby 1.8.7然后安装它,但gem仍然在那里当我打字我得到了这个

 ➜ ~ 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 

使用RVM

1)安装rvm。

在其余步骤中:

不要使用SUDO

2)安装ruby(选择一个版本):

 $ rvm install 1.9.3 

3)确保rvm的当前ruby是您要用于应用程序的版本:

 $ rvm list 

如有必要:

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

4)为您的应用创建一个gemset:

 $ rvm gemset create myapp_gemset 

5)您可以列出当前ruby版本的gemsets:

 $ rvm gemset list 

如有必要,切换到刚刚创建的gemset:

 $ rvm gemset use myapp_gemset 

6)安装rails gem:

 $ gem install rails --version 4.0.0 

该命令将gem安装到当前的gemset中。 你可以查看版本:

 $ rails -v 

您可以使用快捷方式选择ruby版本以及之前为该ruby版本创建的gemset:

 $ rvm use 1.9.3-p194@myapp_gemset 

您还可以设置打开新终端窗口时将选择的默认ruby和gemset:

 $ rvm use 1.9.3-p194@myapp_gemset --default 

或者,您可以在应用程序中设置Gemfile,以便在将目录更改为应用程序目录时rvm切换到指定的ruby版本和gemset:

的Gemfile:

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

rvm将在你的Gemfile中读取该注释,然后切换到前一行的ruby版本和注释中指定的gemset。

。 。

https://rvm.io/gemsets/deleting

删除Gemsets

删除gemset时,rvm会提示您确认删除。

 $ rvm gemset use albinochipmunk $ rvm gemset delete albinochipmunk 

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

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

默认情况下,rvm从当前选定的Ruby解释器中删除gemsets。 要从不同的解释器中删除gemset,例如1.9.2,请以这种方式运行命令:

 $ rvm 1.9.2 do gemset delete albinochipmunk 

如果您根本不使用gemset,则可以使用’default’集合中的gem

https://rvm.io/gemsets/emptying

清空Gemsets

如果您清空gemset,rvm将提示您进行确认。 此操作将删除gemset中安装的所有gem。

 $ rvm gemset use albinochipmunk $ rvm gemset empty albinochipmunk 

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

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

RVM在global gemset中安装一些gem,您可以使用以下命令卸载这些gem:

 rvm @global do gem uninstall gem_name 

如果你不想使用任何gemsets(除了每个ruby gemset一个),请使用:this:

 echo rvm_ignore_gemsets_flag=1 >> ~/.rvmrc 

从现在开始,RVM将只使用单个gemset – 没有global