2011-01-11 74 views
0

我在Windows计算机上开发,但部署到Debian。试图在Rails 3应用程序中使用hpricot。我可以得到宝石用于安装:Bundler不希望在Windows XP上使用Ruby 1.8.7安装hpricot

gem install hpricot --platform=mswin32 

但我做到这一点的包文件时 - 它不断抛出一个错误(我认为这是试图安装角度来说,Hpricot的错误的版本(而不是Windows专用)

group :production do 
    gem "hpricot", "0.8.3" 
end 

group :development, :test do 
    gem "hpricot", "0.8.3", :platforms => [:mswin, :mingw] 
end 

这是从这里另一个问题上的计算器 - 但它不是为我工作

任何想法

PS:

的Windows XP SP3使用Ruby 1.8.7和Rails 3.0.3与1.0.7捆绑

编辑

忘了贴我的错误:

bundle install 
Fetching source index for http://rubygems.org/ 
which: no sudo in (.;C:\Program Files\ImageMagick-6.6.5-Q16;C:\ruby\Ruby187\bin;C:\Program Files\ActiveState Komodo Edit 6\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\e\cmd;C:\Program Files\MySQL\MySQL Server 5.1\bin;C:\WINDOWS\system32\WindowsPowerShell\v1.0;c:\tools;C:\gnuwin32\bin;C:\tools\wkhtmltopdf;C:\Python31;C:\Program Files\TortoiseHg\;C:\Program Files\TortoiseGit\bin; c:\program files\videolan\vlc;C:\Program Files\SMPlayer\mplayer;C:\Program Files\Git\cmd;C:\Program Files\QuickTime\QTSystem\;C:\Program Files\Calibre2\;c:\ruby\jruby-1.5.5\bin;C:\Program Files\Common Files\Shoes\0.r1514\..) 
Using rake (0.8.7) 
Using abstract (1.0.0) 
Using activesupport (3.0.3) 
Using builder (2.1.2) 
Using i18n (0.4.2) 
Using activemodel (3.0.3) 
Using erubis (2.6.6) 
Using rack (1.2.1) 
Using rack-mount (0.6.13) 
Using rack-test (0.5.6) 
Using tzinfo (0.3.23) 
Using actionpack (3.0.3) 
Using mime-types (1.16) 
Using polyglot (0.3.1) 
Using treetop (1.4.9) 
Using mail (2.2.10) 
Using actionmailer (3.0.3) 
Using arel (2.0.4) 
Using activerecord (3.0.3) 
Using activeresource (3.0.3) 
Using bcrypt-ruby (2.1.4) 
Using bundler (1.0.7) 
Using cancan (1.5.0) 
Using haml (3.0.24) 
Using compass (0.10.6) 
Using warden (1.0.3) 
Using devise (1.1.5) 
Installing hpricot (0.8.3) Temporarily enhancing PATH to include DevKit... 
with native extensions C:/ruby/Ruby187/lib/ruby/site_ruby/1.8/rubygems/installer.rb:483:in `build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError) 

C:/ruby/Ruby187/bin/ruby.exe extconf.rb 
checking for stdio.h... no 
*** extconf.rb failed *** 
Could not create Makefile due to some reason, probably lack of 
necessary libraries and/or headers. Check the mkmf.log file for more 
details. You may need configuration options. 

Provided configuration options: 
     --with-opt-dir 
     --without-opt-dir 
     --with-opt-include 
     --without-opt-include=${opt-dir}/include 
     --with-opt-lib 
     --without-opt-lib=${opt-dir}/lib 
     --with-make-prog 
     --without-make-prog 
     --srcdir=. 
     --curdir 
     --ruby=C:/ruby/Ruby187/bin/ruby 


Gem files will remain installed in C:/ruby/Ruby187/lib/ruby/gems/1.8/gems/hpricot-0.8.3 for inspection. 
Results logged to C:/ruby/Ruby187/lib/ruby/gems/1.8/gems/hpricot-0.8.3/ext/fast_xs/gem_make.out 
     from C:/ruby/Ruby187/lib/ruby/site_ruby/1.8/rubygems/installer.rb:446:in `each' 
     from C:/ruby/Ruby187/lib/ruby/site_ruby/1.8/rubygems/installer.rb:446:in `build_extensions' 
     from C:/ruby/Ruby187/lib/ruby/site_ruby/1.8/rubygems/installer.rb:198:in `install' 
     from C:/ruby/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/source.rb:95:in `install' 
     from C:/ruby/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/installer.rb:55:in `run' 
     from C:/ruby/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/spec_set.rb:12:in `each' 
     from C:/ruby/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/spec_set.rb:12:in `each' 
     from C:/ruby/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/installer.rb:44:in `run' 
     from C:/ruby/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/installer.rb:8:in `install' 
     from C:/ruby/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/cli.rb:225:in `install' 
     from C:/ruby/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/vendor/thor/task.rb:22:in `send' 
     from C:/ruby/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/vendor/thor/task.rb:22:in `run' 
     from C:/ruby/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/vendor/thor/invocation.rb:118:in `invoke_task' 
     from C:/ruby/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/vendor/thor.rb:246:in `dispatch' 
     from C:/ruby/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.7/lib/bundler/vendor/thor/base.rb:389:in `start' 
     from C:/ruby/Ruby187/lib/ruby/gems/1.8/gems/bundler-1.0.7/bin/bundle:13 
     from C:/ruby/Ruby187/bin/bundle:19:in `load' 
     from C:/ruby/Ruby187/bin/bundle:19 
+0

你会得到什么样的错误? – theIV 2011-01-12 01:26:04

+0

@theIV,请参阅编辑问题 - 这里没有粘贴空间。 – konung 2011-01-12 15:49:33

回答

1

我们在捆绑器和Windows方面遇到了类似的问题,需要检查的一点是特定版本可用于Windows和Linux/ruby​​本机系统。

首先在您的部署机器上安装捆绑软件包,然后将Gemfile.lock文件放到您的Windows开发框中也是一个好主意。

0

尝试使用nokogiri。它与Hpricot非常相似,但主动维护且速度更快。

+0

我需要使用hpricot,因为它是另一个库(特别是haml scaffolding)的依赖项,否则我会坚持使用nokogiri。 – konung 2011-01-12 15:47:36

0

我不是捆绑软件专家,远不是“Ruby in Windows-land”专家,但仅仅通过做一点研究,您试图在Gemfile中使用的platforms标志似乎没有有效。关于该主题,我能找到的唯一信息是在捆绑程序github页面https://github.com/carlhuda/bundler/issues/issue/663上的以下问题。希望这可以帮助。

+0

theIV - 其实并不真实http://gembundler.com/man/gemfile.5.html。 Ctrl + F的平台 – konung 2011-01-13 21:59:16