Rubygems,Bundler和RVM混淆的问题?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (23)

好吧,有很多这样的问题,但是回答的人说他们使用Rubygems,RVM和Bundler,并且他们没有解释如何独立工作。

当我们安装gem时,我对这三者如何孤立地工作非常困惑。

我的困惑可以分解成这些问题。在以下情况下安装了gem的位置:

  1. 我只有Rubygems(没有RVM或Bundler)?
  2. Rubygems和RVM已安装?
  3. Rubygems,RVM和Bundler是否安装?

提问于
用户回答回答于
  1. 要找出正在安装gem的位置,请echo $GEM_HOME在终端中运行。
  2. 在使用RVM时,当更改$GEM_HOME时,它们会安装到RVM安装中。echo $GEM_HOME现在运行会显示进入RVM安装的路径。
  3. 当Bundler被添加到混音中时,gems将被安装到$GEM_HOME,或者,如果在运行时指定路径bundle install将被安装到该路径中。要通过Bundler找出宝石的位置,可以使用它bundle show gemname来获取完整路径。
用户回答回答于

使用gem env列出每个方面的gem路径。

没有RVM gem env将报告系统gem库路径。

使用RVM gem env将报告RVM管理的gem库路径。

Bundler管理应用程序依赖关系并安装到环境中的gem库中。如果使用的是RVM + Bundler,那么这些gem将安装在RVM管理的gem目录中。如果在没有RVM的情况下使用它,bundler会将gem安装在系统gem目录中。

扫码关注云+社区