RoR & lol
В выходные развлекался с Ruby on rails.
На первый взгляд процесс установки и настройки показался простым, как валенок. Тем более, что он пошагово описан на http://www.rubyonrails.ru. Но, не тут кобыла, как говорится.
Первый выстрел в ногу произошёл при попытке выполнить gem install rails, выглядело это так:
ERROR: While executing gem ... (Errno::ENOENT)
No such file or directory - C:/Users/Андрей
Ага, не понравилась кирилица, но причём здесь такой путь, когда Ruby установлен в E:/Ruby192?
Всё дело в волшебных пузырьках, а точнее в содержимом gem.bat, пришлось всё закомментировать и заменить на более рабочий вариант, спасибо stackoverflow.com :
REM @ECHO OFF
REM IF NOT "%~f0" == "~f0" GOTO :WinNT
REM ECHO.This version of Ruby has not been built with support for Windows 95/98/Me.
REm GOTO :EOF
REM :WinNT
REM @"%~dp0ruby.exe" "%~dpn0" %*
@ECHO OFF
SET _HOMEPATH=%HOMEPATH%
SET HOMEPATH=E:\Ruby192
IF NOT "%~f0" == "~f0" GOTO :WinNT
@"ruby.exe" "E:\Ruby192\bin\gem" %1 %2 %3 %4 %5 %6 %7 %8 %9
GOTO :EOF
:WinNT
@"ruby.exe" "%~dpn0" %*
:EOF
SET HOMEPATH=%_HOMEPATH%
Но на этом квест не закончился.
После создания тестового web примера, в моём случае -- это была команда rails app/example1 , предлагалось перейти внутрь каталога web-приложения и выполнить ruby scripts/server. Да-да-да, вы наверное догадались, что такого скрипта там нет, а есть одинокий rails. Соответственно, запускать нужно rails с параметром server: rails server.
Итак, Рональдиньо обходит одного, второго, удар по воротам... х...й -- штанга. Теперь сообщается, что sqlite3-ruby не установлен. Послушно выполняю gem install sqlite3-ruby, дрожащей рукой набираю команду запуска сервера... А-а-а-а-а, sqlite3.dll не найдена. Жестоко ошибается тот, кто думает, что достаточно скачать эту библиотеку и закинуть куда-нибудь в Windows/system или Windows/system32. На это есть ответ Чемберлену, что-то наподобие такого: "The procedure entry point sqlite3_backup_finish could not be loacated in the dynamic link library sqlite3.dll". О как, точку входа она не находит, видите ли.
Слава Богу, гугл не без добрых людей. Итак, заходим на http://www.sqlite.org/download.html и скачиваем оттуда три архива, содержащих: sqlite3.dll, sqlite3.def, sqlite3.exe. Впрочем sqlite3.exe можно исключить. Копируем всё это добро в bin нашего Ruby, в моём случае -- это E:/Ruby192.
Так, попытка номер три: rails server
=> Booting WEBrick
=> Rails 3.0.3 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2011-01-23 02:46:03] INFO WEBrick 1.3.1
[2011-01-23 02:46:03] INFO ruby 1.9.2 (2010-12-25) [i386-mingw32]
[2011-01-23 02:46:03] INFO WEBrick::HTTPServer#start: pid=2608 port=3000
[2011-01-23 02:46:22] INFO going to shutdown ...
[2011-01-23 02:46:23] INFO WEBrick::HTTPServer#start done.
Теперь смотрим в браузере что выдаётся по http://localhost:3000
Аллилуйя!!! Заработало.
Ну и кто после этого опенсорц? :-)
Полезные ссылки:
http://rubyonrails.org, http://rubyforge.org, http://www.rubyonrails.ru
На первый взгляд процесс установки и настройки показался простым, как валенок. Тем более, что он пошагово описан на http://www.rubyonrails.ru. Но, не тут кобыла, как говорится.
Первый выстрел в ногу произошёл при попытке выполнить gem install rails, выглядело это так:
ERROR: While executing gem ... (Errno::ENOENT)
No such file or directory - C:/Users/Андрей
Ага, не понравилась кирилица, но причём здесь такой путь, когда Ruby установлен в E:/Ruby192?
Всё дело в волшебных пузырьках, а точнее в содержимом gem.bat, пришлось всё закомментировать и заменить на более рабочий вариант, спасибо stackoverflow.com :
REM @ECHO OFF
REM IF NOT "%~f0" == "~f0" GOTO :WinNT
REM ECHO.This version of Ruby has not been built with support for Windows 95/98/Me.
REm GOTO :EOF
REM :WinNT
REM @"%~dp0ruby.exe" "%~dpn0" %*
@ECHO OFF
SET _HOMEPATH=%HOMEPATH%
SET HOMEPATH=E:\Ruby192
IF NOT "%~f0" == "~f0" GOTO :WinNT
@"ruby.exe" "E:\Ruby192\bin\gem" %1 %2 %3 %4 %5 %6 %7 %8 %9
GOTO :EOF
:WinNT
@"ruby.exe" "%~dpn0" %*
:EOF
SET HOMEPATH=%_HOMEPATH%
Но на этом квест не закончился.
После создания тестового web примера, в моём случае -- это была команда rails app/example1 , предлагалось перейти внутрь каталога web-приложения и выполнить ruby scripts/server. Да-да-да, вы наверное догадались, что такого скрипта там нет, а есть одинокий rails. Соответственно, запускать нужно rails с параметром server: rails server.
Итак, Рональдиньо обходит одного, второго, удар по воротам... х...й -- штанга. Теперь сообщается, что sqlite3-ruby не установлен. Послушно выполняю gem install sqlite3-ruby, дрожащей рукой набираю команду запуска сервера... А-а-а-а-а, sqlite3.dll не найдена. Жестоко ошибается тот, кто думает, что достаточно скачать эту библиотеку и закинуть куда-нибудь в Windows/system или Windows/system32. На это есть ответ Чемберлену, что-то наподобие такого: "The procedure entry point sqlite3_backup_finish could not be loacated in the dynamic link library sqlite3.dll". О как, точку входа она не находит, видите ли.
Слава Богу, гугл не без добрых людей. Итак, заходим на http://www.sqlite.org/download.html и скачиваем оттуда три архива, содержащих: sqlite3.dll, sqlite3.def, sqlite3.exe. Впрочем sqlite3.exe можно исключить. Копируем всё это добро в bin нашего Ruby, в моём случае -- это E:/Ruby192.
Так, попытка номер три: rails server
=> Booting WEBrick
=> Rails 3.0.3 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2011-01-23 02:46:03] INFO WEBrick 1.3.1
[2011-01-23 02:46:03] INFO ruby 1.9.2 (2010-12-25) [i386-mingw32]
[2011-01-23 02:46:03] INFO WEBrick::HTTPServer#start: pid=2608 port=3000
[2011-01-23 02:46:22] INFO going to shutdown ...
[2011-01-23 02:46:23] INFO WEBrick::HTTPServer#start done.
Теперь смотрим в браузере что выдаётся по http://localhost:3000
Аллилуйя!!! Заработало.
Ну и кто после этого опенсорц? :-)
Полезные ссылки:
http://rubyonrails.org, http://rubyforge.org, http://www.rubyonrails.ru