如何通过Gemfile"gem install nokogiri - --use-system-libraries"

s2t*_*2t2 12 ruby rubygems nokogiri bundler gemfile

安装最新版本的Nokogiri有一个已知错误.解决方法是使用手动安装

gem install nokogiri -- --use-system-libraries
Run Code Online (Sandbox Code Playgroud)

但是如何通过Gemfile来完成呢?

inf*_*sed 27

bundle config build.nokogiri --use-system-libraries
Run Code Online (Sandbox Code Playgroud)

运行此命令后,每次Bundler需要安装nokogiri gem时,它将传递您指定的标志.

它通过在~/.bundle/config文件中添加条目来记住此设置:

---
BUNDLE_BUILD__NOKOGIRI: "--use-system-libraries"
Run Code Online (Sandbox Code Playgroud)

  • 仅供参考我根据[docs](http://bundler.io/v1.3/man/bundle-config.1.html)将配置文件添加到我的应用程序目录中 (3认同)
  • 仅供参考,我需要删除此设置,以使nokogiri 1.8.4(由Slather`使用)再次在macOS High Sierra上工作。 (2认同)

ska*_*lee 5

全系统方式:

bundle config --global build.nokogiri --use-system-libraries
Run Code Online (Sandbox Code Playgroud)

将配置保存到$HOME/.bundle/config(此路径可配置),以便所有项目共享。

--global参数是默认的,因此可以省略它。

全应用方式

bundle config --local build.nokogiri --use-system-libraries
Run Code Online (Sandbox Code Playgroud)

将配置保存到<project_root>/.bundle/config,因此它仅限于包含在此目录中的 gemfile。

还原

bundle config --delete build.nokogiri
Run Code Online (Sandbox Code Playgroud)

build.nokogiri从全局和本地配置文件中删除设置。

也可以看看

捆绑文档:https : //bundler.io/man/bundle-config.1.html