删除所有已安装的Gems并重新开始

Dav*_*ong 76 ruby macos rubygems rvm ruby-on-rails-3

我最近开始学习Ruby和Ruby on Rails,并观看了大量的入门材料.我最近发现,我一直都会遇到错误,因为gems无法安装或者它们会被安装但是由于某种原因它们无法使用,我已经决定要删除所有内容以便再次安装Ruby并重新开始安装.一个培训视频让我用RVM安装我的大部分宝石,所以我不知道这是否会改变任何东西.

所以简而言之,我的问题是"如何摆脱RVM,Rubygems和所有已安装的Gems,以便我可以重新使用Ruby?"

编辑:我在Mac OS 10.6上

mic*_*ael 102

RVM支持站点:

RVM将所有内容安装到〜/ .rvm中.要从系统中删除RVM,请运行'rm -rf~/.rvm'.您可能在〜/ .rvmrc中有一个额外的配置文件,当然还有bash/zsh启动文件中的RVM挂钩.

所以,只需转到命令行并输入 rm -rf ~/.rvm

所有已安装的宝石都在〜/ .rvm文件夹中,因此执行上述操作将一次性删除宝石并安装红宝石.

通过在命令提示符下键入以下内容,可以删除使用默认ruby安装添加pre-RVM的Gems:

for x in `gem list --no-versions`; do gem uninstall $x -a -x -I; done
Run Code Online (Sandbox Code Playgroud)

  • 有关更多参考,另一个选项:`gem list --no-versions | xargs gem uninstall -aIx` (7认同)
  • 作为参考,完整的命令是:for x in \`gem list --no-versions \`; 做宝石卸载$ x -a -x -I; DONE (4认同)

Pan*_*nts 42

gem uninstall -aIx
Run Code Online (Sandbox Code Playgroud)

在没有提示的情况下卸载所有宝石.

选项

-a, --[no-]all                   Uninstall all matching versions
-I, --[no-]ignore-dependencies   Ignore dependency requirements while
                                 uninstalling
-x, --[no-]executables           Uninstall applicable executables without
                                 confirmation
Run Code Online (Sandbox Code Playgroud)

  • 这给了我:`错误:执行 gem ... (Gem::InstallError) gist 未安装在 GEM_HOME 中,请尝试:gem uninstall -i /usr/share/rubygems-integration/all gist` (6认同)
  • 那么你应该按照它的建议去做。然后,再次重新运行“gem uninstall -aIx”。如果其他 gem 发生错误,则重复,直到完成 (5认同)
  • 这就是我所做的,我不得不重复这些步骤几十次。有时,`gem` 会抱怨我没有目录的正确权限:`错误:执行 gem ... (Gem::FilePermissionError) 时,您没有 /usr/share/ 的写入权限rubygems-integration/2.7.0/bin 目录。事实上,该目录不存在:我只需“mkdir”它并重新运行“gem”命令。 (2认同)

Har*_*ina 33

对于WindowsUnix在命令提示符下复制/粘贴(Ruby 1.9.x).

ruby -e "`gem list`.split(/$/).each { |line| puts `gem uninstall -Iax #{line.split(' ')[0]}` unless line.strip.empty? }"
Run Code Online (Sandbox Code Playgroud)

  • +1解决方案,帮助Windows用户! (8认同)
  • `错误:执行gem时...(Gem :: CommandLineError)请至少指定一个gem名称(例如gem build GEMNAME)-e:1:不再使用。<digit>浮点文字了;在点束(0.0.1)之前放置0 ^ -e:1:语法错误,意外的tINTEGER束(0.0.1)^` (2认同)

mfi*_*tko 21

使用RVM,你可以输入...

rvm gemset empty GEMSET
Run Code Online (Sandbox Code Playgroud)

其中GEMSET是您想要清空的宝石.然后...

安装捆绑

yum install bundler 最后

bundle install
Run Code Online (Sandbox Code Playgroud)


che*_*rbr 12

rvm implode(参见cli docs)似乎有效 - 它甚至可以告诉你在哪里看剩菜

  • 从技术上讲,这是最正确的答案,也正是它的设计目的。 (2认同)
  • “implode - 删除它管理的所有 ruby​​ 安装,〜/.rvm 中的所有内容” (2认同)
  • @MarkGavagan我同意它并不能完成所有事情,但它会告诉你还需要做什么(我上面所说的“剩菜”)。事实上,那篇文章关于卸载 rvm 的第零步是... `rvm impode` :-) (2认同)

Muk*_*pta 5

  1. 这在 Ubuntu 16.04 上对我有用。对我来说,当我执行命令 rails -v 时,它会因为 NameError 而抛出错误。我已经安装了 3 个版本的 rails(4.2.0、4.2.6、5.0.0.1)。我试图使用命令gem uninstall rails -v 版本号卸载不必要的 gem ,但我不能,但我找到了解决这个问题的方法。为了卸载所有 gem,您必须使用 bash 脚本循环遍历 gem 列表中的所有条目。这种方法非常不方便。感谢 Rubygems 2.1.0,您现在可以使用一个命令来完成。

    第1步

    首先,请确保您将 Rubygems 升级到 2.1.0 或更新版本。为此运行此命令(如果您正在使用旧版本。您可以使用此命令检查您的 gem 版本gem -vgem --version 中的任何一个 )

    宝石更新--系统

    宝石 --version

    第2步

    在终端中运行此命令

    宝石卸载 --all

    步骤 - 3

    安装 gem 包(我认为没有必要只是为了预防) gem install bundle

    步骤 - 4
    使用此命令在您的系统上 安装 rails gem install rails -vspecific version you want to install 您可以在官方网站rails all versions 示例上查看 rails 版本:- 我已经安装了 rails 4.2.6 版本,您可以根据要求进行安装。 宝石安装导轨-v 4.2.6

    步骤 - 5

    最后通过使用基本命令rails -v检查已安装的 rails 框架应用程序的版本。它将呼应当前版本的 rails 框架。享受 :)

    参考

http://ruby-journal.com/how-to-uninstall-all-ruby-gems/ http://guides.rubyonrails.org/v4.1/getting_started.html