Bundler не хочет устанавливать hpricot на Windows XP с Ruby 1.8.7

Я разрабатываю на машине с Windows, но развертываю в Debian. Попытка использовать hpricot с приложением Rails 3. Я могу установить драгоценный камень, используя:

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

Это из другого вопроса здесь, в stackoverflow, но у меня это не работает.

Любые идеи?

P.S.:

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

person konung    schedule 11.01.2011    source источник
comment
Какую ошибку вы получаете?   -  person theIV    schedule 12.01.2011
comment
@theIV, см. РЕДАКТИРОВАТЬ в вопросе - здесь нет места для вставки.   -  person konung    schedule 12.01.2011


Ответы (3)


У нас были похожие проблемы с пакетом и Windows, и нужно проверить, что конкретная версия доступна как для Windows, так и для собственных систем Linux/ruby.

Также может быть хорошей идеей сначала выполнить пакетную установку на машине развертывания, а затем перенести файл Gemfile.lock в окно разработки Windows.

person Daemin    schedule 13.01.2011

Попробуйте использовать nokogiri. Он очень похож на Hpricot, но активно поддерживается и работает быстрее.

person Brian Donovan    schedule 12.01.2011
comment
Мне нужно использовать hpricot, потому что это зависимость в другой библиотеке (в частности, строительные леса haml для разработки), иначе я бы придерживался nokogiri. - person konung; 12.01.2011

Я не эксперт по упаковщикам и далек от эксперта по "Ruby в Windows-стране", но после небольшого исследования флаг platforms, который вы пытаетесь использовать в своем Gemfile, кажется недействительным. Единственная информация, которую я смог найти по этой теме, это следующая проблема на странице сборщика github https://github.com/carlhuda/bundler/issues/issue/663. Надеюсь это поможет.

person theIV    schedule 12.01.2011
comment
theIV - на самом деле неверно gembundler.com/man/gemfile.5.html . Ctrl+F для платформ - person konung; 14.01.2011
comment
@Nick Gorbikoff, спасибо, что научил меня чему-то, чего я не знал :) - person theIV; 14.01.2011
comment
ну, насколько я понимаю из проблем на github, это было добавлено с версии 0.9. но я могу ошибаться. - person konung; 14.01.2011