Я хочу использовать Ruby Gem под названием Dugway от Big Cartel для создания тем в локальной среде, а не на их фактическая платформа для целей разработки.
Я никогда раньше не использовал Ruby или Gems, но, насколько я понимаю, мне нужно было сначала установить Ruby и DevKit. Я скачал и установил Ruby 2.0.0-p247 (x64)
и DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe
, затем извлек DevKit в папку Ruby.
Я следовал инструкциям здесь, но просто чтобы все было в одном месте, я все равно напишу что делал...
Я открыл командную строку «Пуск с Ruby», набрал cd C:\Ruby200-x64\devkit
, а затем ruby dk.rb init
и получил следующее:
Initialization complete! Please review and modify the auto-generated
'config.yml' file to ensure it contains the root directories to all
of the installed Rubies you want enhanced by the DevKit.
Я просмотрел файл, и под комментарием у него есть - C:/Ruby200-x64
, что, как я полагаю, означает, поскольку я ничего не использовал раньше, мне все равно нечего изменять.
Теперь, чтобы установить, я набрал ruby dk.rb install
, и мне показали:
[INFO] Updating convenience notice gem override for 'C:/Ruby200-x64'
[INFO] Installing 'C:/Ruby200-x64/lib/ruby/site_ruby/devkit.rb'
Затем он сказал мне выполнить тестовую установку, поэтому я набрал gem install json --platform=ruby
, что дало мне следующее:
Fetching: json-1.8.0.gem (100%)
Temporarily enhancing PATH to include DevKit..
Building native extensions. This could take a while...
Successfully installed json-1.8.0
Parsing documentation for json-1.8.0
Unable to convert "\x90" from ASCII-8BIT to UTF-8 for lib/json/ext/generator.so, skipping
Unable to convert "\x90" from ASCII-8BIT to UTF-8 for lib/json/ext/parser.so, skipping
Installing ri documentation for json-1.8.0
1 gem installed
Я сделал быстрый поиск здесь о невозможности конвертировать предупреждения и нашел это заставило меня почувствовать себя лучше, так как это не ошибка, а это означало, что я продолжил и набрал ruby -rubygems -e "require 'json'; puts JSON.load('[42]').inspect"
, и он отобразил [42]
, что, как я предположил, означает, что оно работает правильно!
Итак, теперь с драгоценным камнем Big Cartels Dugway я набираю gem install dugway
, что дало мне ошибку:
ERROR: While executing gem ... (Gem::DependencyError)
Unable to resolve dependencies: dugway requires i18n (= 0.6.1)
Быстрый поиск показал мне, что i18n сам по себе является драгоценным камнем, поэтому ... предположения о том, что я только что узнал о том, как устанавливать драгоценные камни, заставили меня подумать, что gem install i18n
следует записать в командную строку, к счастью, это не установило никаких предупреждений или ошибок. Итак, я попытался снова установить dugway gem install dugway
и получил ту же ошибку, что и раньше, что dugway требует i18n.
Сейчас я довольно смущен, чтобы сказать, что час назад я понятия не имел, что все это значило, я думал, что до сих пор у меня все получалось, но я застрял в том, что делать дальше.
Как мне обойти эту последнюю ошибку, для меня она установлена, так что я делаю неправильно? Извините, если это очевидно, но, как я уже сказал, все это для меня довольно ново, я привык просто писать PHP и запускать базы данных, поэтому я все еще настраиваюсь!
ИЗМЕНИТЬ
Обратите внимание: я также пытался добавить --platform-ruby
в конце gem install dugway
на всякий случай, если это было проблемой, но все равно получал ту же ошибку.
ИЗМЕНИТЬ
Следуя совету Саймона Реппа о принудительной установке конкретной версии i18n:
ruby 2.0.0p247 (2013-06-27) [x64-mingw32]
C:\Users\Me>cd C:\Ruby200-x64\devkit
C:\Ruby200-x64\devkit>gem list i18n
*** LOCAL GEMS ***
i18n (0.6.4)
C:\Ruby200-x64\devkit>gem install i18n --version '= 0.6.1'
Fetching: i18n-0.6.1.gem (100%)
Successfully installed i18n-0.6.1
Parsing documentation for i18n-0.6.1
Installing ri documentation for i18n-0.6.1
1 gem installed
Затем снова попытался установить dugway, все шло хорошо до конца:
C:\Ruby200-x64\devkit>gem install dugway
Fetching: bundler-1.3.5.gem (100%)
Successfully installed bundler-1.3.5
Fetching: rack-1.4.5.gem (100%)
Successfully installed rack-1.4.5
Fetching: rack-mount-0.8.3.gem (100%)
Successfully installed rack-mount-0.8.3
Fetching: activesupport-3.2.14.gem (100%)
Successfully installed activesupport-3.2.14
Fetching: liquid-2.4.1.gem (100%)
Successfully installed liquid-2.4.1
Fetching: coffee-script-source-1.6.3.gem (100%)
Successfully installed coffee-script-source-1.6.3
Fetching: execjs-1.4.0.gem (100%)
Successfully installed execjs-1.4.0
Fetching: coffee-script-2.2.0.gem (100%)
Successfully installed coffee-script-2.2.0
Fetching: sass-3.2.9.gem (100%)
Successfully installed sass-3.2.9
Fetching: hike-1.2.3.gem (100%)
Successfully installed hike-1.2.3
Fetching: tilt-1.4.1.gem (100%)
Successfully installed tilt-1.4.1
Fetching: sprockets-2.10.0.gem (100%)
Successfully installed sprockets-2.10.0
Fetching: sprockets-sass-0.9.1.gem (100%)
Successfully installed sprockets-sass-0.9.1
Fetching: chunky_png-1.2.8.gem (100%)
Successfully installed chunky_png-1.2.8
Fetching: fssm-0.2.10.gem (100%)
Successfully installed fssm-0.2.10
Fetching: compass-0.12.2.gem (100%)
Successfully installed compass-0.12.2
Fetching: multi_xml-0.5.4.gem (100%)
Successfully installed multi_xml-0.5.4
Fetching: httparty-0.10.2.gem (100%)
When you HTTParty, you must party hard!
Successfully installed httparty-0.10.2
Fetching: erubis-2.7.0.gem (100%)
Successfully installed erubis-2.7.0
Fetching: coderay-1.0.9.gem (100%)
Successfully installed coderay-1.0.9
Fetching: better_errors-0.6.0.gem (100%)
Successfully installed better_errors-0.6.0
Fetching: debug_inspector-0.0.2.gem (100%)
Temporarily enhancing PATH to include DevKit...
Building native extensions. This could take a while...
Successfully installed debug_inspector-0.0.2
Fetching: binding_of_caller-0.7.2.gem (100%)
Building native extensions. This could take a while...
Successfully installed binding_of_caller-0.7.2
Fetching: will_paginate-3.0.4.gem (100%)
Successfully installed will_paginate-3.0.4
Fetching: htmlentities-4.3.1.gem (100%)
Successfully installed htmlentities-4.3.1
Fetching: thor-0.17.0.gem (100%)
Successfully installed thor-0.17.0
Fetching: rubyzip-0.9.9.gem (100%)
Successfully installed rubyzip-0.9.9
Fetching: uglifier-1.3.0.gem (100%)
Successfully installed uglifier-1.3.0
Fetching: eventmachine-1.0.3.gem (100%)
Building native extensions. This could take a while...
ERROR: Error installing dugway:
ERROR: Failed to build gem native extension.
C:/Ruby200-x64/bin/ruby.exe extconf.rb
checking for main() in -lssl... no
checking for rb_trap_immediate in ruby.h,rubysig.h... no
checking for rb_thread_blocking_region()... yes
checking for inotify_init() in sys/inotify.h... no
checking for __NR_inotify_init in sys/syscall.h... no
checking for writev() in sys/uio.h... no
checking for rb_wait_for_single_fd()... yes
checking for rb_enable_interrupt()... no
checking for rb_time_new()... yes
checking for windows.h... yes
checking for winsock.h... yes
checking for main() in -lkernel32... yes
checking for main() in -lrpcrt4... yes
checking for main() in -lgdi32... yes
creating Makefile
make "DESTDIR="
generating rubyeventmachine-x64-mingw32.def
compiling binder.cpp
In file included from c:\ruby200-x64\devkit\mingw\bin\../lib/gcc/x86_64-w64-ming
w32/4.7.2/../../../../x86_64-w64-mingw32/include/process.h:12:0,
from c:/Ruby200-x64/include/ruby-2.0.0/ruby/win32.h:60,
from c:/Ruby200-x64/include/ruby-2.0.0/ruby/defines.h:153,
from c:/Ruby200-x64/include/ruby-2.0.0/ruby/ruby.h:70,
from c:/Ruby200-x64/include/ruby-2.0.0/ruby.h:33,
from em.h:24,
from project.h:150,
from binder.cpp:20:
c:\ruby200-x64\devkit\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.7.2/../../../../
x86_64-w64-mingw32/include/sys/types.h:68:16: error: conflicting declaration 'ty
pedef _pid_t pid_t'
In file included from binder.cpp:20:0:
project.h:97:13: error: 'pid_t' has a previous declaration as 'typedef int pid_t
'
In file included from project.h:151:0,
from binder.cpp:20:
ed.h: In member function 'void EventableDescriptor::SetSocketInvalid()':
ed.h:43:40: warning: overflow in implicit constant conversion [-Woverflow]
make: *** [binder.o] Error 1
Gem files will remain installed in C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/event
machine-1.0.3 for inspection.
Results logged to C:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/eventmachine-1.0.3/ext
/gem_make.out
C:\Ruby200-x64\devkit>