Как установить sqlite3 для ruby ​​на рельсы для windows10 - PullRequest
0 голосов
/ 22 февраля 2019

Когда я вызываю рельсы для создания каркаса нового приложения, т.е. рельсов 5.1.3 нового фликса, я получаю сообщение об ошибке, т.е. последняя часть вывода команды равна

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.

current directory:
C:/RailsInstaller/Ruby2.3.3/lib/ruby/gems/2.3.0/gems/sqlite3-1.4.0/ext/sqlite3
C:/RailsInstaller/Ruby2.3.3/bin/ruby.exe -r ./siteconf20190222-12524-hspyoq.rb
extconf.rb
checking for sqlite3.h... no
sqlite3.h is missing. Install SQLite3 from http://www.sqlite.org/ first.
*** 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=C:/RailsInstaller/Ruby2.3.3/bin/$(RUBY_BASE_NAME)
        --with-sqlcipher
        --without-sqlcipher
        --with-sqlite3-config
        --without-sqlite3-config
        --with-pkg-config
        --without-pkg-config
        --with-sqlcipher
        --without-sqlcipher
        --with-sqlite3-dir
        --without-sqlite3-dir
        --with-sqlite3-include
        --without-sqlite3-include=${sqlite3-dir}/include
        --with-sqlite3-lib
        --without-sqlite3-lib=${sqlite3-dir}/lib

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

C:/RailsInstaller/Ruby2.3.3/lib/ruby/gems/2.3.0/extensions/x86-mingw32/2.3.0/sqlite3-1.4.0/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in
C:/RailsInstaller/Ruby2.3.3/lib/ruby/gems/2.3.0/gems/sqlite3-1.4.0 for
inspection.
Results logged to
C:/RailsInstaller/Ruby2.3.3/lib/ruby/gems/2.3.0/extensions/x86-mingw32/2.3.0/sqlite3-1.4.0/gem_make.out

An error occurred while installing sqlite3 (1.4.0), and Bundler cannot continue.
Make sure that `gem install sqlite3 -v '1.4.0'` succeeds before bundling.

In Gemfile:
  sqlite3

Когда я запускаю gem install sqlite3 -v '1.4.0', я получаю следующее сообщение об ошибке

C:\Users\acer>gem install sqlite3 -v '1.4.0'
Temporarily enhancing PATH to include DevKit...
Building native extensions.  This could take a while...
ERROR:  Error installing sqlite3:
        ERROR: Failed to build gem native extension.

    current directory: C:/RailsInstaller/Ruby2.3.3/lib/ruby/gems/2.3.0/gems/sqlite3-1.4.0/ext/sqlite3
C:/RailsInstaller/Ruby2.3.3/bin/ruby.exe -r ./siteconf20190222-11816-8sfvgr.rb extconf.rb
checking for sqlite3.h... no
sqlite3.h is missing. Install SQLite3 from http://www.sqlite.org/ first.
*** 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=C:/RailsInstaller/Ruby2.3.3/bin/$(RUBY_BASE_NAME)
        --with-sqlcipher
        --without-sqlcipher
        --with-sqlite3-config
        --without-sqlite3-config
        --with-pkg-config
        --without-pkg-config
        --with-sqlcipher
        --without-sqlcipher
        --with-sqlite3-dir
        --without-sqlite3-dir
        --with-sqlite3-include
        --without-sqlite3-include=${sqlite3-dir}/include
        --with-sqlite3-lib
        --without-sqlite3-lib=${sqlite3-dir}/lib

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

  C:/RailsInstaller/Ruby2.3.3/lib/ruby/gems/2.3.0/extensions/x86-mingw32/2.3.0/sqlite3-1.4.0/mkmf.log

extconf failed, exit code 1

Gem files will remain installed in C:/RailsInstaller/Ruby2.3.3/lib/ruby/gems/2.3.0/gems/sqlite3-1.4.0 for inspection.
Results logged to C:/RailsInstaller/Ruby2.3.3/lib/ruby/gems/2.3.0/extensions/x86-mingw32/2.3.0/sqlite3-1.4.0/gem_make.out

Если кто-нибудь установил sqlite в Windows 10, пожалуйста, сообщите мне.

Большое спасибо заранее.

Ответы [ 2 ]

0 голосов
/ 10 апреля 2019

Сегодня, 10 апреля 2019 года, я только что установил свой ruby ​​на рельсы. Я потратил время на написание этого

. Я столкнулся с теми же проблемами, когда пытался зайти в рабочий каталог приложения rails.

Вот шаг, который я выполнил, который отлично работает без каких-либо ошибок.

1.) Загрузите установщик Ruby с ссылка Здесь я скачал Ruby + Devkit 2.6.1-1 (x86) , потому что я использую 32-разрядную ОС Windows.

Запустите установочный файл

2.) Проверьте, установлен ли ruby, оценив его версию

в командной строке введите

ruby -v

, вы увидите вывод Например.ruby 2.6.1p33

3 Установите Rails

в командной строке, запустите

gem install rails

4.) Для проверки установленной версии Rail .В командной строке выполните

rails -v

, вы увидите вывод, например.rails 5.2.3

5.) Создать каталог приложения, например, rails project.Cd C:> в любой каталог и наберите

rails new myRailsApp

Это создаст myRailsApp в каталоге c: /, если все будет в порядке.

В вашем случае это будетработать на этом этапе, и именно поэтому он показывает ошибку выше.

Примечание:

Но помните, что рабочий каталог вашего приложения ** (myRailsApp) ** был созданнесмотря на опубликованную выше ошибку, вызванную sqlite3.

На этом этапе откройте каталог приложения и введите приведенный ниже код в команде propmt, чтобы обновить некоторые отсутствующие файлы gem

C:\myRailsApp>ridk exec pacman -S mingw-w64-x86_64-dlfcn

Нажмите enterи он будет установлен.

Теперь откройте файл с именем GemFile в корневом каталоге приложения, например. C: \ myRailsApp

Там измените эту строку

gem 'sqlite3'

на эту ниже и сохраните

gem 'sqlite3', git: "https://github.com/larskanis/sqlite3-ruby", branch: "add-gemspec"

Решение здесь основано на Подход Ларсканиса

Затем запустите пакетную установку на

C:\myRailsApp>bundle install

, и ваше приложение будет скомпилировано без ошибок.

Чтобы проверить, запущен ли рубин, запуститесервер с командой rails server в каталоге вашего проекта

C:\myRailsApp>rails server

или вы также можете запустить его, перейдя в каталог bin

C:\myRailsApp\bin>rails server

открыть браузер на http://localhost:3000 и альт !!!

0 голосов
/ 22 февраля 2019

Как написано в сообщениях об ошибках, вам нужно сначала установить SQLite 3 на свой компьютер (http://www.sqlite.org/). гем ruby ​​sqlite3 только дает вам возможность использовать SQLite 3 из Ruby, но это необходимотем не менее, установлен в вашей системе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...