在Rubygems系统中使用BUNDLEGEMFILE

时间:2014-02-23 02:29:23

标签: ruby bundle

我在Rubygems系统中找到一个关于BUNDLEGEMFILE的命令,看起来像这样:

BUNDLEGEMFILE=Gemfile bundle exec bosh target 192.168.50.4

bosh是命令行界面,bosh_cli。

并且,项目的Gemfile如下所示:

source 'https://rubygems.org'

ruby '1.9.3'

gem 'librarian-chef'
gem 'bosh_cli'

group :development, :test do
  gem 'rake'
  gem 'rspec'
end

通常,我执行上面的命令,如:bosh target 192.168.50.4,但是,我发现命令BUNDLEGEMFILE=Gemfile bundle exec bosh target 192.168.50.4也可以。 所以,我想知道BUNDLEGEMFILE=Gemfilebundle exec的含义。

1 个答案:

答案 0 :(得分:1)

Bundler是一个依赖管理工具。它使用Gemfile来配置特定于应用程序的依赖项。 bundle exec负责设置路径以在Gemfile中包含依赖项,并在该上下文中执行给定命令。 BUNDLEGEMFILE是一个环境变量,当您想要告诉bundler Gemfile不是Gemfile时,您可以使用它。这通常在拥有多个Gemfiles或该文件的某个奇怪位置时使用。