2013-07-26 2 views
2

Я хочу использовать Ruby Gem под названием Dugway от Big Cartel для создания тем в локальной среде, а не на их реальной платформе в целях развития.Pretty lost with Ruby Gems and dugway installation

Я никогда раньше не использовал Ruby или Gems, но, насколько мне известно, мне нужно было сначала установить Ruby и DevKit. Я загрузил и установил Ruby 2.0.0-p247 (x64) и DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe, а затем извлек DevKit в папку Ruby.

Я следовал инструкциям here, но только, чтобы держать все это в одном месте, я буду писать то, что я сделал так или иначе ...

Я открыл Начало командной строки с 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 

I сделал быстрый поиск здесь о невозможности конвертировать предупреждения и нашел this, который заставил меня чувствовать себя лучше, поскольку это не ошибка, а это означает, что я продолжал и печатал ruby -rubygems -e "require 'json'; puts JSON.load('[42]').inspect", и он отображал [42], который я ssumed означал, что он работал правильно!

Так теперь с Большой Картели Дагвей камень, я типа 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 и запускать базы данных, поэтому я все еще настраиваю!

EDIT

отметить, я также пытался добавить --platform-ruby в конце gem install dugway только в том случае, была проблема, но все-таки получил ту же ошибку.

EDIT

После следуя совету Саймона Рэпп в принуждать конкретную версию 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 

Затем попытался Дагвей снова устанавливать, все шло хорошо, до конца:

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> 

ответ

1

С gem list i18n вы можете получить информацию о версии для драгоценного камня i18n, который вы устанавливаете редактор
(Должно быть в скобках, что-то вроде i18n (x.x.x))

Скорее всего, версия, которую вы установили не 0.6.1 (который, в соответствии с вашим сообщением об ошибке точной версии i18n, что Дагви требуют, чтобы работать)

Если это так, вы можете попробовать gem install i18n --version '= 0.6.1', чтобы установить эту версию самостоятельно.

Существует, к сожалению, хороший шанс, что это не удастся, потому что, если бы камень был установлен для вас именно так, рубигемы, вероятно, уже сделали это для вас. Однако - какая бы ошибка вы не пробовали, приведет вас к более глубокой причине проблемы и, по крайней мере, еще один шаг на вашем пути;)

+0

Ну, он получил больше, чем в прошлый раз, так большое спасибо за установку версии! Я пытаюсь понять ошибку, которую она бросила, но не очень повезло! Отредактировал мой оригинальный вопрос с результатами. – Joe

3

Мне удалось заставить его работать, удалив 64-разрядные версии как Ruby, так и DevKit.

Если кто-то еще хочет знать, как я его работаю, я полностью удалил Ruby и DevKit и загрузил как Ruby 2.0.0-p247, так и DevKit-mingw64-32-4.7.2-20130224-1151-sfx.exe.

Ruby устанавливает в C:\Ruby200\, и я извлек DevKit до C:\Ruby200\devkit\.

Открыт Рубин командной строки и сделал следующее:

Изменить путь, инициализацию, а затем установить. Протестировали его, как они говорят на RubyInstall DevKit, установив json (пару предупреждений снова об конверсиях ASCII в UTF-8, но без ошибок).

Протестировано json install, а затем установлена ​​версия i18n 0.6.1, так как это требует Dugway. Пытался установить Dugway, но он говорит, что activesupport requires i18n (>= 0.6.4, ~> 0., поэтому я установил 0.6.4 из i18n, чтобы узнать, установит ли Dugway.

Установленный Dugway снова, после долгого ожидания разбора и установки еще нескольких конверсий ASCII в UTF-8, но Dugway был наконец установлен!

Вот список команд, которые я использовал все результаты удаляются для легкого чтения:

C:\Users\Me> cd C:\Ruby200\devkit 
C:\Ruby200\devkit> ruby dk.rb init 
C:\Ruby200\devkit> ruby dk.rb install 
C:\Ruby200\devkit> gem install json --platform=ruby 
C:\Ruby200\devkit> ruby -rubygems -e "require 'json'; puts JSON.load('[42]').inspect 
C:\Ruby200\devkit> gem install i18n --version '= 0.6.1' 
C:\Ruby200\devkit> gem install i18n 
C:\Ruby200\devkit> gem install dugway 

Хотелось бы надеяться, что помогает людям, у которых есть какие-то проблемы такие же, как меня, так как я не знаю много о Ruby, или Драгоценные камни, как я сказал, я не знаю, было ли это что-то не так с любым из них с 64-битными версиями, или если это на косяках, но в любом случае это сработало для меня!

По-прежнему существуют проблемы с использованием самого dugway, но, по крайней мере, он установлен, я свяжусь с самим dugway по вопросам, с которыми я сейчас сталкиваюсь.

+0

приятно, если вы сообщаете об этих проблемах при работе с ruby ​​на wnidows. Хотя, я считаю важным заметить, что большинство рубинов предпочитают работать в * nix-системах (обычно Linux или MacOS), и вам будет легче начинать работать с рубином на одной из таких систем. –