我在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=Gemfile
和bundle exec
的含义。
答案 0 :(得分:1)
Bundler是一个依赖管理工具。它使用Gemfile
来配置特定于应用程序的依赖项。 bundle exec
负责设置路径以在Gemfile
中包含依赖项,并在该上下文中执行给定命令。 BUNDLEGEMFILE
是一个环境变量,当您想要告诉bundler Gemfile
不是Gemfile
时,您可以使用它。这通常在拥有多个Gemfiles或该文件的某个奇怪位置时使用。