繁体   English   中英

Rubygems,Bundler和RVM混淆

[英]Rubygems, Bundler and RVM confusion

在再次询问之前我读了“ Rubygems,Bundler和RVM之间的关系 ”。

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

当我们安装宝石时,我真的很困惑三者如何孤立地工作。 请不要告诉我你的工作方式,这对我有帮助,但是当我们和他们一起玩时,我不会知道发生了什么。

我的困惑可以分解为这些问题。 在以下情况下安装宝石的位置:

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

请通过网络上的资源或您的详细答案帮助我理解这些内容。

  1. 要找出安装宝石的位置, echo $GEM_HOME在终端中运行echo $GEM_HOME
  2. 使用RVM时,Gem会在更改$ GEM_HOME时安装到RVM安装中。 现在运行echo $GEM_HOME将显示进入RVM安装的路径。
  3. 将Bundler添加到组合中时,gems将安装在$GEM_HOME ,或者,如果指定运行bundle install的路径,则将安装到该路径。 要通过Bundler找出gem的位置,您可以使用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。

我也试图了解它是如何工作的。 博客“ 关于在开发中使用Ruby,RVM,Passenger,Rails,Bundler等的建议 ”帮助我更好地概述了这一点。

顺便说一句,这是一篇法文文章的翻译,法文版更好。

要查找安装gem的路径,请使用:

gem which gem_name

要查找可执行文件(如html2haml),请使用:

which executable_name

要避免键入Bundler团队推荐的bundle exec html2haml ,请使用我的rubygems-bundler gem。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM