2016-10-21 17 views
0

у меня есть проблемы при попытке развернуть старый проект, используя команду:не может загрузить такой файл - Iconv рубин

рубинового скрипт/сервер -e производство -p 999

As результат:

D:/InstantRails/ruby/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:120:in `require': cannot load such file -- iconv (LoadError) 
    from D:/InstantRails/ruby/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:120:in `require' 
    from D:/InstantRails/ruby/lib/ruby/gems/2.3.0/gems/activesupport-2.3.10/lib/active_support/inflector.rb:3:in `<top (required)>' 
    from D:/InstantRails/ruby/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:68:in `require' 
    from D:/InstantRails/ruby/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:68:in `require' 
    from D:/InstantRails/ruby/lib/ruby/gems/2.3.0/gems/activesupport-2.3.10/lib/active_support/core_ext/integer/inflections.rb:1:in `<top (required)>' 
    from D:/InstantRails/ruby/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:68:in `require' 
    from D:/InstantRails/ruby/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:68:in `require' 
    from D:/InstantRails/ruby/lib/ruby/gems/2.3.0/gems/activesupport-2.3.10/lib/active_support/core_ext/integer.rb:2:in `<top (required)>' 
    from D:/InstantRails/ruby/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:68:in `require' 
    from D:/InstantRails/ruby/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:68:in `require' 
    from D:/InstantRails/ruby/lib/ruby/gems/2.3.0/gems/activesupport-2.3.10/lib/active_support/core_ext.rb:8:in `block in <top (required)>' 
    from D:/InstantRails/ruby/lib/ruby/gems/2.3.0/gems/activesupport-2.3.10/lib/active_support/core_ext.rb:8:in `each' 
    from D:/InstantRails/ruby/lib/ruby/gems/2.3.0/gems/activesupport-2.3.10/lib/active_support/core_ext.rb:8:in `<top (required)>' 
    from D:/InstantRails/ruby/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:68:in `require' 
    from D:/InstantRails/ruby/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:68:in `require' 
    from D:/InstantRails/ruby/lib/ruby/gems/2.3.0/gems/activesupport-2.3.10/lib/active_support.rb:56:in `<top (required)>' 
    from D:/InstantRails/ruby/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:68:in `require' 
    from D:/InstantRails/ruby/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:68:in `require' 
    from D:/InstantRails/ruby/lib/ruby/gems/2.3.0/gems/rails-2.3.10/lib/commands/server.rb:1:in `<top (required)>' 
    from D:/InstantRails/ruby/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:68:in `require' 
    from D:/InstantRails/ruby/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:68:in `require' 
    from script/server:3:in `<main>' 

Мои версии являются:

Руби -v

D:\InstantRails\rails_apps\TestManager>ruby -v 
ruby 2.3.1p112 (2016-04-26 revision 54768) [x64-mingw32] 

Gem -v

2.6.7 

Результат установки Iconv гем:

камень установить Iconv - --with-Iconv -include = D:/iconv/include --with-iconv-lib = D:/iconv/lib

результат:

Temporarily enhancing PATH to include DevKit... 
Building native extensions with: '--with-iconv-include=D:/iconv/include --with-iconv-lib=D:/iconv/lib' 
This could take a while... 
ERROR: Error installing iconv: 
     ERROR: Failed to build gem native extension. 

    current directory: D:/InstantRails/ruby/lib/ruby/gems/2.3.0/gems/iconv-1.0.4/ext/iconv 
D:/InstantRails/ruby/bin/ruby.exe -r ./siteconf20161021-4952-wjxi9k.rb extconf.rb --with-iconv-include=D:/iconv/include --with-iconv-lib=D:/iconv/lib 
checking for rb_enc_get() in ruby/encoding.h... yes 
checking for rb_sys_fail_str() in ruby.h... yes 
checking for iconv() in iconv.h... no 
checking for iconv() in -liconv... no 
*** 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=D:/InstantRails/ruby/bin/$(RUBY_BASE_NAME) 
     --with-iconv-dir 
     --without-iconv-dir 
     --with-iconv-include=${iconv-dir}/include 
     --with-iconv-lib=${iconv-dir}/lib 
     --enable-config-charset 
     --disable-config-charset 
     --with-config-charset 
     --without-config-charset 
     --with-iconvlib 
     --without-iconvlib 

To see why this extension failed to compile, please check the mkmf.log which can be found here: 

    D:/InstantRails/ruby/lib/ruby/gems/2.3.0/extensions/x64-mingw32/2.3.0/iconv-1.0.4/mkmf.log 

extconf failed, exit code 1 

Gem files will remain installed in D:/InstantRails/ruby/lib/ruby/gems/2.3.0/gems/iconv-1.0.4 for inspection. 
Results logged to D:/InstantRails/ruby/lib/ruby/gems/2.3.0/extensions/x64-mingw32/2.3.0/iconv-1.0.4/gem_make.out 
+0

Я не в Windows, поэтому я не могу с этим поделать. Попытайтесь найти его на SO. – Aleksey

+1

У вас установлен devkit для создания собственных библиотек? http://rubyinstaller.org/add-ons/devkit/ – Sam

ответ

0

Похоже, у вас не установлен iconv камень.
Посмотрите похожие question.

+0

Я попытался установить его с помощью этого пособия, но есть следующая ошибка с родными библиотеками – Bohdan

+0

проверка на rb_enc_get() в ruby ​​/ encoding.h ... да проверка на rb_sys_fail_str() в ruby.h ... да проверка значка() в iconv.h ... нет проверка значка() в -liconv ... no – Bohdan

+0

Я использую gem install iconv - - --with-iconv-include = D:/iconv/include --with-iconv-lib = D:/iconv/lib – Bohdan

0

Вы, вероятно, отсутствуете DevKit для окон: http://rubyinstaller.org/add-ons/devkit/

Также обратите внимание, что вы должны установить DevKit в той же арке, как вы установили рубин (то есть: и 64-разрядные версии) - госзакупки часто устанавливают один 32 и один 64 вариант и это также вызывает ошибки.

Удача