Ruby DevKit не работает для RedCloth и других драгоценных камней в WindowsXP
Я совершенно новичок в RoR и не имею большого опыта веб-разработки. Обычно я сдаюсь, но мне нужна среда разработки RoR для работы, и я не могу выбрать мозг создателя сайта, потому что он кто-то за пределами компании и дал понять, что он совершенно не знаком с Windows (он разрабатывает на Mac, и я начинаю понимать, почему...). Это мой первый пост, так что будьте добры...
Цель: иметь возможность просматривать сайт на основе RoR на локальном компьютере, предпочтительно с использованием уже существующего XAMMP-сервера, но с использованием rails-сервера тоже будет хорошо.
Среда: Windows XP Xammp 1.7.3 Ruby 9.1.2 DevKit 4.5.0.
Что я пробовал: я начал с того, что следовал инструкциям в этом руководстве (Установите Xampp и Rails на Windows-машине http://www.grapethinking.com/getting-rails-to-work-on-a-windows-machine-running-xampp). Я успешно прошел все шаги и смог создать приложение rails и увидеть страницу "Добро пожаловать на борт".
Я получил локальную копию сайта от heroku ( http://heroku.com/), который они используют. Я изменил файл конфигурации apache так, чтобы он указывал на общую папку сайта, как описано в шаге 5 учебника по Xampp и Rails. В этот момент я получил следующее сообщение при переходе на localhost:3000
Access forbidden!
You don't have permission to access the requested directory. There is either no index document or the directory is read-protected.
If you think this is a server error, please contact the webmaster.
Error 403
localhost
11/4/2010 2:19:12 PM
Apache/2.2.14 (Win32) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l mod_autoindex_color PHP/5.3.1 mod_apreq2-20090110/2.7.1 mod_perl/2.0.4 Perl/v5.10.1
Я не был уверен, как изменить разрешения на машине с Windows или это была даже проблема. Я попытался запустить "rails s", который жаловался:
Could not find RedCloth-4.2.3 in any of the sources, Try running 'bundle install'.
Поэтому я нашел этот пост, в котором описана моя ситуация ( http://www.ruby-forum.com/topic/204455), которая привела меня к загрузке DevKit. На этом этапе я удалил ruby и переустановил его с правильным установщиком. Я установил devkit, следуя инструкциям на их сайте ( https://github.com/oneclick/rubyinstaller/wiki/Development-Kit).
DevKit не работает. Файл config.yml автоматически находился в том месте, где я установил ruby (в....xampp/ruby /Ruby192), и он работал без жалоб, за исключением шага 5, где вы проверяете, действительно ли он работает с командой "gem install rdiscount --platform=ruby ", которая вызвала следующую ошибку:
C:\RubyDevKit>gem install rdiscount --platform=ruby
Temporarily enhancing PATH to include DevKit...
Building native extensions. This could take a while...
ERROR: Error installing rdiscount:
ERROR: Failed to build gem native extension.
"C:/Documents and Settings/Lyla/My Documents/new/XAMPP_Server_2010/XAMPP_Install
/xampp/ruby/Ruby192/bin/ruby.exe" extconf.rb
checking for random()... *** 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:/Documents and Settings/Lyla/My Documents/new/XAMPP_Server_2010
/XAMPP_Install/xampp/ruby/Ruby192/bin/ruby
--with-rdiscount-dir
--without-rdiscount-dir
--with-rdiscount-include
--without-rdiscount-include=${rdiscount-dir}/include
--with-rdiscount-lib
--without-rdiscount-lib=${rdiscount-dir}/lib
C:/Documents and Settings/Lyla/My Documents/new/XAMPP_Server_2010/XAMPP_Install/
xampp/ruby/Ruby192/lib/ruby/1.9.1/mkmf.rb:368:in `try_do': The complier failed t
o generate an executable file. (RuntimeError)
You have to install development tools first.
from C:/Documents and Settings/Lyla/My Documents/new/XAMPP_Server_2010/X
AMPP_Install/xampp/ruby/Ruby192/lib/ruby/1.9.1/mkmf.rb:435:in `try_link0'
from C:/Documents and Settings/Lyla/My Documents/new/XAMPP_Server_2010/X
AMPP_Install/xampp/ruby/Ruby192/lib/ruby/1.9.1/mkmf.rb:440:in `try_link'
from C:/Documents and Settings/Lyla/My Documents/new/XAMPP_Server_2010/X
AMPP_Install/xampp/ruby/Ruby192/lib/ruby/1.9.1/mkmf.rb:552:in `try_func'
from C:/Documents and Settings/Lyla/My Documents/new/XAMPP_Server_2010/X
AMPP_Install/xampp/ruby/Ruby192/lib/ruby/1.9.1/mkmf.rb:797:in `block in have_fun
c'
from C:/Documents and Settings/Lyla/My Documents/new/XAMPP_Server_2010/X
AMPP_Install/xampp/ruby/Ruby192/lib/ruby/1.9.1/mkmf.rb:693:in `block in checking
_for'
from C:/Documents and Settings/Lyla/My Documents/new/XAMPP_Server_2010/X
AMPP_Install/xampp/ruby/Ruby192/lib/ruby/1.9.1/mkmf.rb:280:in `block (2 levels)
in postpone'
from C:/Documents and Settings/Lyla/My Documents/new/XAMPP_Server_2010/X
AMPP_Install/xampp/ruby/Ruby192/lib/ruby/1.9.1/mkmf.rb:254:in `open'
from C:/Documents and Settings/Lyla/My Documents/new/XAMPP_Server_2010/X
AMPP_Install/xampp/ruby/Ruby192/lib/ruby/1.9.1/mkmf.rb:280:in `block in postpone
'
from C:/Documents and Settings/Lyla/My Documents/new/XAMPP_Server_2010/X
AMPP_Install/xampp/ruby/Ruby192/lib/ruby/1.9.1/mkmf.rb:254:in `open'
from C:/Documents and Settings/Lyla/My Documents/new/XAMPP_Server_2010/X
AMPP_Install/xampp/ruby/Ruby192/lib/ruby/1.9.1/mkmf.rb:276:in `postpone'
from C:/Documents and Settings/Lyla/My Documents/new/XAMPP_Server_2010/X
AMPP_Install/xampp/ruby/Ruby192/lib/ruby/1.9.1/mkmf.rb:692:in `checking_for'
from C:/Documents and Settings/Lyla/My Documents/new/XAMPP_Server_2010/X
AMPP_Install/xampp/ruby/Ruby192/lib/ruby/1.9.1/mkmf.rb:796:in `have_func'
from extconf.rb:5:in `<main>'
Gem files will remain installed in C:/Documents and Settings/Lyla/My Documents/n
ew/XAMPP_Server_2010/XAMPP_Install/xampp/ruby/Ruby192/lib/ruby/gems/1.9.1/gems/r
discount-1.6.5 for inspection.
Results logged to C:/Documents and Settings/Lyla/My Documents/new/XAMPP_Server_2
010/XAMPP_Install/xampp/ruby/Ruby192/lib/ruby/gems/1.9.1/gems/rdiscount-1.6.5/ex
t/gem_make.out
Так что у него есть "Временное улучшение PATH для включения DevKit...", но больше ничего не работает. Аналогичная ошибка возникает при попытке установить RedCloth.
Я нашел этот пост, который кажется очень связанным, но он предназначен для того, чтобы заставить работать гем dbd-odbc, что бы это ни было, и решение кажется несколько специфичным для этого: я не могу заставить работать комплект разработки ruby для Windows XP
Я не был уверен, о чем он говорил с изменением файла fstab... может, это мне поможет? К сожалению, я не могу найти файл fstab, у меня нет папки msys в моей корневой папке devkit. Я не могу найти gcc.bat, make.bat или sh.bat в папке bin моей установки ruby или в различных папках bin в devkit.
Есть также этот пост ( http://www.ruby-forum.com/topic/186191), в котором предлагаются некоторые вещи, за которыми я не могу следовать... это также все с 2009 года, поэтому я подумал, что это может быть старым.
помогите и спасибо!
2 ответа
Честно говоря, я бы не стал настраивать его в Windows. Это может быть совершенно неуправляемым и порой разочаровывающим (я знаю это по опыту). Существует причина, по которой существует очень небольшое сообщество разработчиков Rails, использующих Windows. Большинство остальных используют OS X или разновидность Linux.
Создайте виртуальную машину Ubuntu с чем-то вроде VirtualBox (бесплатно) и настройте там стек Rails. Это гораздо более безболезненная среда, и вы не будете оглядываться назад. В качестве альтернативы, если вы не хотите выполнять всю настройку самостоятельно, используйте BitNami RubyStack. Это предварительно сконфигурированная среда Ruby/Rails, которую вы можете использовать как виртуальную машину или установить на свой компьютер (я бы выбрал первое).
Надеюсь, это поможет!
Here's what I did for anyone who might be interested:
Platform: Windows 7 Rails 4 Ruby 1.9.2p0
- Installed Ruby via rubyinstaller.org
- Downloaded DevKit
- From the Ruby enhanced CMD prompt, "ruby dk.rb init", followed by "ruby dk.rb install"
- Загрузил файлы DLL SQLLite отсюда: sqlite.org, скопировал их в каталог C:\Windows
- В расширенной командной строке Ruby "Gem install RedCloth"
- Добавлен "Gem RedCloth" в gemfile
- "комплектация"
Эти шаги сработали для меня! Я не понимаю, почему людям так тяжело с Ruby на Windows. Это все, над чем я работаю, и все работает отлично.