2013-07-30 3 views
2

Я пытаюсь установить Ruby On Rails на Cygwin, но ударил контрольно-пропускном пункте при создании тестового приложения, например,камень установить sqlite3-рубиновый терпит неудачу на Cygwin

rails new my_test_app 

Похоже, мои установки (ruby 1.9.3p429 (2013-05-15) [i386-cygwin], rails 3.2.13, gem 2.0.6, rake 10.1.0) был драгоценный камень отсутствует -> sqlite3-ruby. Теперь заголовочный файл (sqlite3.h) не найден, и я не могу указать параметры конфигурации, которые gem понимает. Может кто-нибудь, пожалуйста, помогите мне?

$ rails new test_ror_app1 
     create 
     create README.rdoc 
     create Rakefile 
     create config.ru 
     create .gitignore 
     create Gemfile 
     create app 
     create app/assets/images/rails.png 
     create app/assets/javascripts/application.js 
     create app/assets/stylesheets/application.css 
     create app/controllers/application_controller.rb 
     create app/helpers/application_helper.rb 
     create app/views/layouts/application.html.erb 
     create app/mailers/.gitkeep 
     create app/models/.gitkeep 
     create config 
     create config/routes.rb 
     create config/application.rb 
     create config/environment.rb 
     create config/environments 
     create config/environments/development.rb 
     create config/environments/production.rb 
     create config/environments/test.rb 
     create config/initializers 
     create config/initializers/backtrace_silencers.rb 
     create config/initializers/inflections.rb 
     create config/initializers/mime_types.rb 
     create config/initializers/secret_token.rb 
     create config/initializers/session_store.rb 
     create config/initializers/wrap_parameters.rb 
     create config/locales 
     create config/locales/en.yml 
     create config/boot.rb 
     create config/database.yml 
     create db 
     create db/seeds.rb 
     create doc 
     create doc/README_FOR_APP 
     create lib 
     create lib/tasks 
     create lib/tasks/.gitkeep 
     create lib/assets 
     create lib/assets/.gitkeep 
     create log 
     create log/.gitkeep 
     create public 
     create public/404.html 
     create public/422.html 
     create public/500.html 
     create public/favicon.ico 
     create public/index.html 
     create public/robots.txt 
     create script 
     create script/rails 
     create test/fixtures 
     create test/fixtures/.gitkeep 
     create test/functional 
     create test/functional/.gitkeep 
     create test/integration 
     create test/integration/.gitkeep 
     create test/unit 
     create test/unit/.gitkeep 
     create test/performance/browsing_test.rb 
     create test/test_helper.rb 
     create tmp/cache 
     create tmp/cache/assets 
     create vendor/assets/javascripts 
     create vendor/assets/javascripts/.gitkeep 
     create vendor/assets/stylesheets 
     create vendor/assets/stylesheets/.gitkeep 
     create vendor/plugins 
     create vendor/plugins/.gitkeep 
     run bundle install 
Fetching gem metadata from https://rubygems.org/........... 
Fetching gem metadata from https://rubygems.org/.. 
Resolving dependencies... 
Using rake (10.1.0) 
Using i18n (0.6.1) 
Using multi_json (1.7.7) 
Using activesupport (3.2.13) 
Using builder (3.0.4) 
Using activemodel (3.2.13) 
Using erubis (2.7.0) 
Using journey (1.0.4) 
Using rack (1.4.5) 
Using rack-cache (1.2) 
Using rack-test (0.6.2) 
Using hike (1.2.3) 
Using tilt (1.4.1) 
Using sprockets (2.2.2) 
Using actionpack (3.2.13) 
Using mime-types (1.23) 
Using polyglot (0.3.3) 
Using treetop (1.4.14) 
Using mail (2.5.4) 
Using actionmailer (3.2.13) 
Using arel (3.0.2) 
Using tzinfo (0.3.37) 
Using activerecord (3.2.13) 
Using activeresource (3.2.13) 
Using bundler (1.3.5) 
Using coffee-script-source (1.6.3) 
Using execjs (1.4.0) 
Using coffee-script (2.2.0) 
Using rack-ssl (1.3.3) 
Using json (1.8.0) 
Using rdoc (3.12.2) 
Using thor (0.18.1) 
Using railties (3.2.13) 
Using coffee-rails (3.2.2) 
Using jquery-rails (3.0.4) 
Using rails (3.2.13) 
Using sass (3.2.10) 
Using sass-rails (3.2.6) 
Installing sqlite3 (1.3.7) 
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension 
. 

    /usr/bin/ruby.exe extconf.rb 
checking for sqlite3.h... *** 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}/ 
     --with-make-prog 
     --without-make-prog 
     --srcdir=. 
     --curdir 
     --ruby=/usr/bin/ruby 
     --with-sqlite3-dir 
     --without-sqlite3-dir 
     --with-sqlite3-include 
     --without-sqlite3-include=${sqlite3-dir}/include 
     --with-sqlite3-lib 
     --without-sqlite3-lib=${sqlite3-dir}/ 
     --enable-local 
     --disable-local 
/usr/lib/ruby/1.9.1/mkmf.rb:381:in `try_do': The compiler failed to generate an 
executable file. (RuntimeError) 
You have to install development tools first. 
     from /usr/lib/ruby/1.9.1/mkmf.rb:506:in `try_cpp' 
     from /usr/lib/ruby/1.9.1/mkmf.rb:970:in `block in find_header' 
     from /usr/lib/ruby/1.9.1/mkmf.rb:790:in `block in checking_for' 
     from /usr/lib/ruby/1.9.1/mkmf.rb:284:in `block (2 levels) in postpone' 
     from /usr/lib/ruby/1.9.1/mkmf.rb:254:in `open' 
     from /usr/lib/ruby/1.9.1/mkmf.rb:284:in `block in postpone' 
     from /usr/lib/ruby/1.9.1/mkmf.rb:254:in `open' 
     from /usr/lib/ruby/1.9.1/mkmf.rb:280:in `postpone' 
     from /usr/lib/ruby/1.9.1/mkmf.rb:789:in `checking_for' 
     from /usr/lib/ruby/1.9.1/mkmf.rb:969:in `find_header' 
     from extconf.rb:34:in `<main>' 


Gem files will remain installed in /usr/lib/ruby/gems/1.9.1/gems/sqlite3-1.3.7 f 
or inspection. 
Results logged to /usr/lib/ruby/gems/1.9.1/gems/sqlite3-1.3.7/ext/sqlite3/gem_ma 
ke.out 
An error occurred while installing sqlite3 (1.3.7), and Bundler cannot continue. 

Make sure that `gem install sqlite3 -v '1.3.7'` succeeds before bundling. 

Это было сделано успешно, как можно увидеть ниже:

$ gem install sqlite3 -v '1.3.7' 
Successfully installed sqlite3-1.3.7-x86-mswin32-60 
1 gem installed 

Когда я повторить Сотворение нового тестового приложения, та же ошибка, что и выше (первая) повторяется.

Пожалуйста, помогите мне решить эту проблему. TIA.

Обновление [1]: mkmf.log показывает это: /usr/lib/gcc/i686-pc-cygwin/4.7.3/../../../../i686-pc-cygwin/bin/ld: cannot find -lcrypt

ответ

0

Fixed следующими 2 этапа: -
а) кд в/USR/Lib (где libcrypto.a и libcrypto.dll.a файлы находятся)
б) создать локальную копию libcrypto.a и переименовать libcrypt.a

Run gem install sqlite3
Run rails new my_app1

работает до сих пор ....

0

Проблема в том, что gcc не может найти библиотеку «crypt», указанную флагом '-lcrypt'. установить пакет «libcrypt-devel» из пакетов cygwin ...

2

Если вы устанавливаете через Rubygems, вывод на терминал может жаловаться на невозможность найти sqlite3.h. Это вводит в заблуждение. Если вы проверьте файл mkmf.log, вы можете обнаружить, что совершенно другой файл заголовка фактически отсутствует. Как правило, файл заголовка может быть установлен через соответствующий пакет Cygwin. В моем случае, я уверен, установить каждый из:

  • libcrypt-devel
  • libsqlite3-devel
  • libgmp-devel
Смежные вопросы