OSX 上相同 gem 的多个版本 [以及如何摆脱它们]

Mig*_*ezv 1 ruby macos rubygems ruby-on-rails

当我从主目录(而不是项目)运行时gem list,我会得到一系列已安装在 Mac 上的 gem。然而,似乎有很多不同版本的 gem,我知道我不需要 xc2xb4t,如下所示:

\n\n

本地宝石

\n\n
actionpack (4.2.6, 4.2.4, 4.2.2)\nactionview (4.2.6, 4.2.4, 4.2.2)\nactivemodel (4.2.6, 4.2.4, 4.2.2)\nactivesupport (4.2.6, 4.2.4, 4.2.2)\nbigdecimal (1.2.7, default: 1.2.6)\nio-console (0.4.6, default: 0.4.3)\njson (1.8.3, default: 1.8.1)\nmini_portile2 (2.1.0, 2.0.0)\nminitest (5.9.0, 5.8.4)\npsych (2.0.17, default: 2.0.8)\nrails-dom-testing (2.0.0, 1.0.7)\nrake (11.1.2, default: 10.4.2)\nrdoc (4.2.2, default: 4.2.0)\nslop (4.3.0, 3.6.0)\nuglifier (3.0.0, 2.5.3)\n
Run Code Online (Sandbox Code Playgroud)\n\n

安装了同一个 gem 的两个(甚至三个)不同版本。我猜测这可能是因为某些 gem(例如 Rake)使用旧版本作为默认版本。

\n\n

如何摆脱这些过时的 gem 版本,以及如何将较新的版本(例如 、 、 等)设置bigdecimalio-consolegemrake的默认版本?

\n

Kum*_*mar 5

您可以通过输入以下内容从计算机中全局删除宝石

gem uninstall <gem_name> --version x.x.x
#Removes particular version of the gem

gem cleanup <gem_name>
#will remove all versions except the latest
Run Code Online (Sandbox Code Playgroud)

但拥有不同的版本也不错,除非你认为它们真的已经过时并且永远不会再被使用。

要使用特定版本的 gem,我认为 Gemfile.lock 是最好的方法。或者您可以参考此链接。它显示了与您类似的问题。