删除Gems错误

时间:2013-08-20 16:07:07

标签: ruby-on-rails ruby rubygems rvm

我有两个版本的红宝石使用RVM,我试图删除所有我的宝石{* 1}}

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

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`

My Gemlist:

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

更新

我试图删除ruby 1.8.7然后安装它但是宝石仍在那里 当我输入时我得到了这个

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

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

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

2 个答案:

答案 0 :(得分:4)

使用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, e.g 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'set

中获得宝石

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

答案 1 :(得分:0)

RVM在global gemset中安装了一些宝石,您可以通过以下方式卸载这些宝石:

rvm @global do gem uninstall gem_name

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

echo rvm_ignore_gemsets_flag=1 >> ~/.rvmrc

从现在起RVM将只使用单个gemset - 没有global