【发布时间】:2015-12-06 18:12:15
【问题描述】:
我想我已经把自己弄得有点乱了,我想请一些指点来清理它。 我安装了 RVM 和 Ruby 2.2.3(这是唯一的版本):
rvm list
rvm rubies
=* ruby-2.2.3 [ x86_64 ]
# => - current
# =* - current && default
# * - default
我只有基本的宝石:
rvm gemset list
gemsets for ruby-2.2.3 (found in /Users/Andrew/.rvm/gems/ruby-2.2.3)
=> (default)
global
如果我查看一个截断的目录结构,我有:
~/.rvm/gems/ruby-2.2.3
~/.rvm/gems/ruby-2.2.3@global
如果我运行 gem env,我的路径是:
[..snip..]
- GEM PATHS:
- /Users/Andrew/.rvm/gems/ruby-2.2.3
- /Users/Andrew/.rvm/gems/ruby-2.2.3@global
[..snip..]
- SHELL PATH:
- /Users/Andrew/.rvm/gems/ruby-2.2.3/bin
- /Users/Andrew/.rvm/gems/ruby-2.2.3@global/bin
[..snip..]
据我所知,ruby-2.2.3 中的 gem 是最新的,但 ruby-2.2.3@globabl 中的不是。
在 IntelliJ IDEA 中,我引用了用于 ruby-2.2.3 和 ruby-2.2.3[Global] 的 SDK。在 Global gems 目录中,它列出了 ruby-2.2.3[global] 的 gems,我可以其中一些与 ruby-2.2.3 的 gems 版本不同。
我通过 google 进行了很多研究,但我仍然对如何升级 ruby-2.2.3@globabl 中的宝石以及是否需要升级感到困惑。我无法分辨这些 gem 与默认为空且 global 列出了大约 4 个 gem 的 gemset 之间的关系。
我想我可以做 gem clean 来摆脱旧的 gem 版本(但我在很多地方都读过这很危险),但这不会升级 ruby-2.2.3@global。我还担心它可能会破坏我也在努力解决的 IntelliJ Idea 环境!
我想做的是:
- 了解路径 ruby-2.2.3 中的 gem 之间的关系, ruby-2.2.3@global
- 了解这些宝石与宝石组之间的关系
默认和全局(如果有)。我的理解是 gemsets
应该使用在
中定义的那些 gem 为每个项目创建 全球可供所有人使用。然后我对这些和
感到困惑 捆绑器! - 如何升级路径 ruby-2.2.3@global 中的 gems
- 如何安全地清理和清除旧宝石。特别, 不会搞砸 IntelliJ Idea
我还没有找到这一切的简单新手指南。也许最简单的事情是 rvm 内爆并重新开始?我正在尝试学习 ruby、ruby on rails、rspec。
【问题讨论】:
-
bundle clean带有--force选项。 -
rvm gemset 使用全局;宝石更新;宝石清理。 Global 是每个 ruby 版本的所有 gemset 中可用的 gem。默认是您希望在每个 ruby 版本中安装的 gem。
-
所以如果我使用 rvm gemset 使用 global...这意味着更新将适用于 ~/.rvm/gems/ruby-2.2.3@global 中的 gem?那么我该如何切换回来 - rvm gemset default?
-
` rvm ruby-2.2.3` 将在没有选择 gemset 的情况下返回正常版本。不知道确切的方法,但它一直对我有用
-
在进行了更多挖掘之后,我添加了一个我认为可以涵盖您的问题的答案。)
标签: ruby-on-rails ruby intellij-idea gem