Ruby on Rails - Capistrano Deploy 无法安装 Nokogiri



我的cap production deploy在Ubuntu 12.04盒子上的nokogiri安装失败:

DEBUG [6f355ce8]    Extracting libxml2-2.8.0.tar.gz into tmp//ports/libxml2/2.8.0... OK
DEBUG [6f355ce8]    Running 'configure' for libxml2 2.8.0... ERROR, review 'tmp//ports/libxml2/2.8.0/configure.log' to see what happened.
DEBUG [6f355ce8]    *** extconf.rb failed ***
DEBUG [6f355ce8]    Make sure that `gem install nokogiri -v '1.6.1'` succeeds before bundling.

我查看了上述日志,其中提到找不到C编译器。我试着在nokogiri网站上安装ubuntu的依赖项,系统说它们已经安装好了。

我还在服务器上尝试了gem install nokogiri -v '1.6.1',它成功了,没有出现任何问题,gem list显示它安装在服务器上。

我发现了一个类似的问题,建议将这条线添加到生产中。rb

set :bundle_env_variables, { 'NOKOGIRI_USE_SYSTEM_LIBRARIES' => 1 }

将错误更改为更具体的错误:

DEBUG [1e93b004]    /usr/local/rbenv/versions/2.0.0-p247/lib/ruby/2.0.0/mkmf.rb:430:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
DEBUG [1e93b004]    You have to install development tools first.

但试图通过安装它们

sudo apt-get install libxslt-dev libxml2-dev

说所有的东西都已经安装好了——再说一遍,nokogiri在deploy任务之外安装得很好。

我缺少ubuntu的一个ruby-dev依赖项:http://nokogiri.org/tutorials/installing_nokogiri.html

此外,由于某种原因,该服务器只授予root访问一些nokogiri依赖项的权限,我不得不为我的部署用户授予chmod权限。

相关内容

  • 没有找到相关文章

最新更新