我知道当使用gem install时,gem将存储在/home/username/下.rvm/gems/,安装gemest-gem的平台.

但是如果我使用Bundler并在gem文件中指定gem,当我运行bundle安装时,这些gem将存储在哪里?如果我已经使用gem install安装了gem,如果我运行bundle安装,它会使用之前使用gem install安装的gem吗?

推荐答案

视情况而定.在通常的开发设置中,它们安装在"正常"安装gem时的位置(通过运行gem install foo),bundler不会重新安装已经存在的gem.这个位置取决于rubygems本身的配置方式.

如果您使用--deployment选项运行bundle install,那么gems将安装在应用程序特有的位置(您可以将其作为单独的选项传递,但默认为vendor/bundle)

您还可以运行bundle package来存储所有数据.应用程序在vendor/cache中使用的gem文件.运行bundle install将更喜欢供应商/缓存中的gems,而不是其他位置的gems.

Ruby相关问答推荐

是什么导致游戏对象中的命名错误?

如何判断 postgres 中使用 ruby​​ 的查询是否失败?

定义Struct时如何指定成员的类型?

Ruby:一个方法可以返回不同类型的对象吗?

ruby 中的魔术注释(#Encoding: utf-8)是如何工作的?

Ruby:通过正则表达式过滤数组?

如何判断 Ruby 数组是否包含多个值之一?

Ruby:将unix时间戳转换为日期

Ruby:如何卸载设计(uninstall Devise)?

判断字符串是否包含Ruby数组中的任何子字符串

按可能为 nil 的属性对对象的 ruby​​ 数组进行排序

在 Pry 中有相当于 next 的吗?

如何使用 Ruby 2.3 中引入的 Array#dig 和 Hash#dig?

使用 Ruby,我如何迭代一个 for 循环 n.times

从命令行使用Bundle 器将 gem 添加到 gemfile

Ruby 中的 %w{} 和 %W{} 大写和小写百分比 W 数组文字有什么区别?

了解 Ruby 的加载路径

Ruby NOT Rails 中有复数函数吗?

如何计算Ruby日期的星期几?

查找模块中可用的类