Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 使用捆绑机在山狮身上使用nokogiri宝石的麻烦_Ruby_Gem_Bundler_Nokogiri - Fatal编程技术网

Ruby 使用捆绑机在山狮身上使用nokogiri宝石的麻烦

Ruby 使用捆绑机在山狮身上使用nokogiri宝石的麻烦,ruby,gem,bundler,nokogiri,Ruby,Gem,Bundler,Nokogiri,我可以使用 sudo gem install nokogiri -- --with-xml2-include=/usr/local/Cellar/libxml2/2.9.1/include/libxml2 --with-xml2-lib=/usr/local/Cellar/libxml2/2.9.1/lib --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.28 --with-iconv-include=/usr/local/Cellar/libico

我可以使用

sudo gem install nokogiri -- --with-xml2-include=/usr/local/Cellar/libxml2/2.9.1/include/libxml2  --with-xml2-lib=/usr/local/Cellar/libxml2/2.9.1/lib --with-xslt-dir=/usr/local/Cellar/libxslt/1.1.28 --with-iconv-include=/usr/local/Cellar/libiconv/1.14/include --with-iconv-lib=/usr/local/Cellar/libiconv/1.14/lib
然而,当我运行“bundle安装”时,我遇到了libxml2问题。我的问题是:如何让nokogiri通过bundler安装

以下是我的“捆绑安装”输出:

有人能给我指出正确的方向吗


谢谢

如果您使用的是RVM或类似的Ruby版本管理器,则不应使用
sudo

这适用于最新的Xcode CLT、mountain lion和mavericks以及nokogiri 1.6.1

临时解决方案0 正是nokogiri的补丁,如brew公式libxslt和libxml2

curl -L https://gist.githubusercontent.com/steakknife/8969368/raw/install_nokogiri_brew_osx.sh | bash

速度更快,并且提供了已知的、只有keg的libiconv和nokogiri的libxml2和libxslt副本。未触及系统libxml2

临时解决办法1 这需要几分钟,安装时会消耗100个MiB+

gem install nokogiri
无论哪种方式,libxml2都需要变得更加稳定,否则它实际上是一个分支,每个人都需要做更多的工作


不要麻烦链接到libxml2或libxslt、sudo-anything或使install-libiconv,这些都是不必要的和脆弱的。

libxml2丢失了
,因此您需要安装它。您不应该将sudo与本地用户安装的RVM一起使用。您是否使用第一个命令安装了nokogiri 1.6.0?结果证明,在最初的nokogiri安装中删除“sudo”解决了问题。因此,首先运行“gem安装nokogiri(带参数)”。然后运行“bundle安装”,bundler工作正常。看起来我应该能够告诉bundler libs在哪里,但是我没有成功地将参数传递给bundler。sudo rvm将gems安装到root的gem路径,而不是当前用户IIRC。它还可能使用另一个ruby,比如system framework one。
gem install nokogiri