Установка bcrypt-ruby gem в Windows
Вопрос
Я пытаюсь установить bcrypt-рубин в Windows Vista.
До сих пор мне удавалось установить nmake.exe из статьи базы знаний MS и cl.exe из установки Visual Studio 2008 Express.
Однако сейчас я сталкиваюсь с этой ошибкой:
cl -nologo -Wall -I. -IC:/InstantRails/ruby/lib/ruby/1.8/i386-mswin32 -I
C:/InstantRails/ruby/lib/ruby/1.8/i386-mswin32 -I. -MD -Zi -O2b2xg- -G6 -c -Tcb crypt.c
cl : Command line warning D9035 : option 'Og-' has been deprecated and will be removed in a future release
cl : Command line warning D9002 : ignoring unknown option '-G6' bcrypt.c
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\stdio.h(381) : warning C4255: '_get_printf_count_output' : no function prototype given: converting '()' to '(void)'
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\stdlib.h(215) : warning C4255: '_get_purecall_handler' : no function prototype given: converting '()' to '(void)'
c:\instantrails\ruby\lib\ruby\gems\1.8\gems\bcrypt-ruby-2.1.2\ext\mri\blf.h(37): fatal error C1083: Cannot open include file: 'stdint.h': No such file or directory
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 9.0\VC\BIN\cl.EXE"' : return code '0x2' Stop.
Я уже выполнил VCVARS32.bat, который, предположительно, настраивает среду.Я подозреваю, что предупреждения и ошибки связаны с установкой более новой версии Visual Studio.
Кто-нибудь сделал это успешно?У меня нет копии Visual Studio 6.0.
Решение
Лучший и самый простой способ - это установить набор для разработки:
- Скачать
devkit-<version>.7z
От здесь; - распакуйте его в каталог Ruby (например,
C:\Ruby
, так что у вас будетC:\Ruby\devkit
; - из командной строки введите:
gem install bcrypt-ruby
.
Другие советы
Чтобы иметь возможность создать расширение gem для установщика в один клик (OCI), вам нужен VC6.Mxing и сопоставление различных версий более новой Visual Studio приведет к сбою или вызовет неизвестные ошибки во время выполнения.
Я бы рекомендовал избежать всех этих неприятностей и перейти к преемнику One-Click, который называется RubyInstaller.
- Загрузите и установите пакеты 1.8.6 или 1.9.1 RC1, анонсировано на RubyForge
- Загрузите комплект для разработки и распакуйте его при установке Ruby
- Подписаться
INSTALL.txt
инструкции по настройке DevKit в соответствии с местоположением, в котором вы его извлекли - Продолжайте с
gem install bcrypt-ruby
, будет работать " из коробки "
Для получения более подробной информации об использовании других драгоценных камней или Rails с этой более новой версией, пожалуйста, смотрите Руководства раздел в нашей Вики.
Надеюсь, это поможет.
Попробуйте следующую команду
драгоценный камень устанавливает bcrypt-ruby --platform=mswin32
Для меня сработало следующее
gem uni bcrypt-ruby
gem i bcrypt-ruby --platform=ruby
Я столкнулся с той же проблемой при установке devise в Windows.
может быть, вы могли бы оформить это:http://github.com/oneclick/rubyinstaller/wiki/development-kit
и Джорджиан прав, обратите здесь внимание:
версия ruby:вы должны установить версию "ruby installer", но не версию .zip или другую версию.
распакуйте его в каталог Ruby (например, C: uby, чтобы у вас был C: uby\devkit;
Если вы установили ruby из другого установочного файла (который не является ruby-installer), вы ДОЛЖНЫ удалить его, затем установить ruby с помощью ruby installer.не стоит просто перезаписывать его.
нет необходимости устанавливать VC6, он не будет работать с другой версией ruby setup (которая не является ruby-installer) .если вы установили его только для настройки ruby-gem, я предлагаю вам удалить его.
нет необходимости устанавливать MinGW, потому что dev-kit основан на нем.
Я потратил почти 15 часов, чтобы решить эту проблему.и теперь пришло время сказать, что "ruby-installer" + "dev kit" - это наш выбор для создания native gem.
В Windows Server 2003 (Ruby 1.8.6) обычный ванильный:
gem install bcrypt-ruby
сработало как по волшебству.
Обратите внимание, что если вы хотите использовать его с Rails, вы должны использовать:
config.gem 'bcrypt-ruby', :lib => 'bcrypt'
Для меня часть проблемы заключалась в том факте, что у меня был установлен Ruby2.0.0 x64 (я использую win8), который, казалось, был несовместим с компилятором gcc, который я использовал.
Я удалил свою установку ruby и установил ruby 1.9.3 вместе с Bundler, Rails и некоторыми другими пакетами с использованием RailsInstaller (http://railsinstaller.org/) и теперь я могу установить bcrypt-ruby :)