如何使用bundle config来使用多个构建选项?

时间:2013-12-11 19:09:15

标签: bundle bundler config options gem-bundler

我正在尝试使用bundler来安装一些软件包,我想要使用的命令是:

bundle install --path vendor/bundle

但是,自libxml2 is being a jerk起,我需要事先设置配置,如下所示:

bundle config --local build.nokogiri --with-xml2-include=dir1 --with-xml2-lib=dir2 --with-xslt-include=dir3 --with-xslt-lib=dir4

但是当我查看.bundle/config文件时,我看到了:

BUNDLE_BUILD__NOKOGIRI: --with-xml2-include=dir1
  --with-xml2-lib=dir2 --with-xslt-include=dir3 --with-xslt-lib=dir4

您会注意到dir2dir3dir4出现在下一行,而不是与dir1在同一行。这是一个问题,因为当我键入bundle config来显示当前配置时,我发现它没有识别出第二行配置:

Settings are listed in order of priority. The top value will be used.
build.nokogiri
Set for your local app (/path/app/.bundle/config): "--with-xml2-include=dir1"

如何让bundle config保留多个构建选项?仅供参考,我已经尝试在它们周围加上引号,并删除了--local - 它们产生了相同的结果。

我正在使用bundler 1.3.5版

1 个答案:

答案 0 :(得分:0)

在我的情况下(bundler-1.17.2bundler-2.0.2),所有参数都作为一个参数传递:

$ bundle config --local build.openssl \
--with-openssl-lib=/usr/lib/openssl-1.0 \
--with-openssl-include=/usr/include/openssl-1.0
$ bundle install

$BUNDLE_PATH/ruby/2.6.0/extensions/x86_64-linux/2.6.0-static/openssl-2.0.0/gem_make.out

/home/yuri/.rubies/ruby-2.6.3/bin/ruby \
-I /home/yuri/.rubies/ruby-2.6.3/lib/ruby/2.6.0 \
-r ./siteconf20191006-3579806-yy73w4.rb extconf.rb \
--with-openssl-lib\=/usr/lib/openssl-1.0\ --with-openssl-include\=/usr/include/openssl-1.0

这是已知的issue,在bundler-2.1.0.pre.1中是fixed,据推测会借入bundler-2.1.0