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

Posted

技术标签:

【中文标题】如何通过 Gemfile “gem install nokogiri -- --use-system-libraries”【英文标题】:How to "gem install nokogiri -- --use-system-libraries" via Gemfile 【发布时间】:2015-06-29 05:59:05 【问题描述】:

安装最新版本的 Nokogiri 时出现已知错误。解决方法是使用手动安装

gem install nokogiri -- --use-system-libraries

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

【问题讨论】:

【参考方案1】:

系统范围的方式:

bundle config --global build.nokogiri --use-system-libraries

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

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

应用范围的方式

bundle config --local build.nokogiri --use-system-libraries

将配置保存到<project_root>/.bundle/config,使其仅限于该目录中包含的gemfile。

还原

bundle config --delete build.nokogiri

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

另见

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

【讨论】:

【参考方案2】:

运行

bundle config build.nokogiri --use-system-libraries

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

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

---
BUNDLE_BUILD__NOKOGIRI: "--use-system-libraries"

【讨论】:

酷。在本地开发环境 (mac os) 和生产开发环境 (linux) 上使用这种方法有什么区别或注意事项吗? 仅供参考,根据docs,我将配置文件添加到了我的应用程序目录中 仅供参考,我需要删除此设置才能使 nokogiri 1.8.4(由 slather 使用)在 macOS High Sierra 上再次运行。

以上是关于如何通过 Gemfile “gem install nokogiri -- --use-system-libraries”的主要内容,如果未能解决你的问题,请参考以下文章

gem install XXX报错

gem install XXX报错

gem install XXX报错

如何使用 gem install 降级到旧版本的指南针?

如何在 mac 上安装 therubyracer? “gem install therubyracer -v”不工作

gem install rmagick -v 2.13.1 错误无法在 Mac OS 10.9.1 上构建 gem 本机扩展