Ошибка установки sqlite3-ruby в Ubuntu
У меня следующая ошибка при установке sqlite3-ruby:
Сборка собственных расширений. Это может занять некоторое время... ОШИБКА: Ошибка установки sqlite3-ruby: ОШИБКА: не удалось создать собственное расширение для gem. /usr/bin/ruby1.8 extconf.rb проверка для sqlite3.h... нет sqlite3.h отсутствует. Попробуйте 'port install sqlite3 +universal' или 'yum install sqlite3-devel' *** extconf.rb не удалось *** Не удалось создать Makefile по какой-то причине, возможно, из-за отсутствия необходимых библиотек и / или заголовков. Проверьте файл mkmf.log для более подробной информации. Вам могут потребоваться параметры конфигурации. Предоставленные параметры конфигурации: --with-opt-dir --without-opt-dir --with-opt-include --without-opt-include=${opt-dir}/include --with-opt-lib - без-opt-lib=${opt-dir}/lib --with-make-prog --without-make-prog --srcdir=. --curdir --ruby=/usr/bin/ruby1.8 --with-sqlite3-dir --without-sqlite3-dir --with-sqlite3-include --without-sqlite3-include=${sqlite3-dir}/include --with-sqlite3-lib --without-sqlite3-lib=${sqlite3-dir}/lib Файлы Gem останутся установленными в /usr/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.3.1 для осмотра. Результаты заносятся в /usr/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.3.1/ext/sqlite3/gem_make.out
sqlite3.h находится в / usr / include /
sudo gem install sqlite3-ruby --without-sqlite3-include = / usr / include
не работает
ОШИБКА: при выполнении gem ... (OptionParser::InvalidOption) неверный параметр: --without-sqlite3-include = / usr / include
Ubuntu 10.04
18 ответов
Для компиляции собственного расширения гема вам нужны заголовки разработки SQLite3. Вы можете установить их, запустив (возможно, с sudo
):
apt-get install libsqlite3-dev
Вам просто нужно --
там.
sudo gem install sqlite3-ruby -- --with-sqlite3-include=/usr/include
Это указывает на то, что опцией является не самоцвет, а конкретный самоцвет.
В моем случае базовые компиляторы не установлены, поэтому
sudo apt-get install build-essential
решил мою проблему, но для большинства людей я думаю, что /questions/11965710/oshibka-ustanovki-sqlite3-ruby-v-ubuntu/11965713#11965713 является решением.
Вот что я сделал:
wget http://www.sqlite.org/sqlite-amalgamation-3.7.2.tar.gz
tar xzf sqlite-amalgamation-3.7.2.tar.gz
cd sqlite-3.7.2/
./configure
make
make install
gem install rails sqlite3-ruby
от: http://cuasan.wordpress.com/2010/10/13/rails-3-on-debian-with-sqlite-3/
Этого было достаточно просто, чтобы заставить его работать
sudo apt-get install libsqlite3-dev
Благодаря Маршлуке
Если вы работаете в Ubuntu и используете RVM для ruby на рельсах, пожалуйста, добавьте FIRST:
sudo apt-get install libxslt-dev libxml2-dev
ИЛИ Вы можете проверить с помощью этих команд:
Эта команда подготовит для вас два пакета: sqllite3 и libsqlite3-dev
sudo apt-get установить sqlite3 libsqlite3-dev
-Теперь, установите sqlite gem
[sudo] gem install sqlite3-ruby
использование Ubuntu не нуждается в sudo.
Удачи! Примечание: я использую Ubuntu 10.10, и он работает.
Перепробовал ВСЕ другие решения, ни одно не помогло.
Оказалось, что вам также нужен пакет dev для самого ruby. Для меня это помогло
sudo apt-get install ruby-full
Хотя у него много неприятных зависимостей (например, emacs, wtf?), Просто
sudo apt-get install ruby1.8-dev
все должно быть в порядке. После установки (и у вас установлены пакеты sqlite и sqlite-dev)
sudo gem install sqlite3-ruby
работает как шарм.
Решение состоит в том, чтобы добавить --
разделять configure
параметры из gem
параметры.
вместо
sudo gem install sqlite3-ruby --without-sqlite3-include=/usr/include
попробуйте это, все в одной строке, обязательно включите --
после последнего gem
параметр и до configure
параметры:
sudo gem install sqlite3 --
--with-sqlite3-lib=/somewhere/local/lib
--with-sqlite3-include=/somewhere/local/include
Это должно помочь вам обойти эту ошибку:
ERROR: While executing gem ... (OptionParser::InvalidOption)
invalid option: --without-sqlite3-include=/usr/include
Вот лучший ответ от HEROKU - не могу запустить мастер git push heroku
Поскольку вы не можете использовать sqlite3 на heroku, добавьте это в ваш Gemfile:
group :production do
gem 'pg'
end
group :development, :test do
gem 'sqlite3'
end
Из sqlite3-ruby gem не могу найти sqlite3.h в Ubuntu:
Вам также нужно установить сам gcc, так что в целом это будет:
sudo apt-get install gcc libsqlite3-dev ruby1.8-dev
sudo gem install sqlite3
По-видимому, вы получаете неправильную ошибку, указывающую на отсутствующий файл sqlite3.h, когда в реальной проблеме отсутствует сам gcc.
Если бы у меня была такая же проблема, у меня сработало следующее:
скомпилируйте sqlite3 как статическую библиотеку, установите где-нибудь в вашем домашнем каталоге и затем предоставьте эту опцию для процесса установки gem.
Перейдите на страницу загрузки и возьмите источник. Самая последняя версия на данный момент - http://www.sqlite.org/sqlite-autoconf-3070400.tar.gz
tar -xf в файле или делать то, что вы обычно делаете, чтобы распаковать; введите каталог
./configure --disable-shared --enable-static --prefix=/some/path/in/my/home
компилировать, устанавливать, и когда вы устанавливаете гем...
gem install sqlite3-ruby - --with-sqlite3-dir=/some/path/in/my/home
Ни одно из вышеупомянутых решений у меня не сработало, даже после установки ruby2.5-dev
а также libsqlite3-dev
, Затем попытался с помощью PostgreSql
вместо sqlite
, Это работало нормально. Использовать PostgreSql
вместо sqlite используйте эту команду при создании rails
проект.
rails [_VERSION_] new project_name -d postgresql
Если вы хотите использовать MySql
затем используйте mysql
вместо postgresql
,
rails [_VERSION_] new project_name -d mysql
Иначе вы можете попробовать без sqlite
,
bundle install --without sqlite
Не --without-sqlite3-include=/usr/include
, но --with-sqlite3-include=/usr/include
,
Для меня проблема была решена путем получения mkmf, который находится в ruby1.8-dev.
sudo apt-get install ruby1.8-dev
Спасибо за это.
Вы сломали версию RVM. Ubuntu делает с RVM что-то, что приводит к множеству ошибок, на данный момент единственный безопасный способ исправить это: sudo apt-get --purge remove ruby-rvm sudo rm -rf /usr/share/ruby …, если это не помогает затем перезагрузите компьютер. установить RVM: \ curl -L https://get.rvm.io/ | bash -s stable --ruby --autolibs=enable --auto-dotfiles Если вам нужно немного подержать, посмотрите на Установка Ruby в Ubuntu 12.04, которая дает немного больше объяснений.
Забудь обо всем и сделай это,
бежать
yum install ruby-devel sqlite sqlite-devel ruby-rdoc
yum install make gcc
gem install sqlite3-ruby
bundle install
Это для rhel, запустить то же самое для Ubuntu.
Я согласен с Даней Вершининым и EnotionZ.
Если не можете использовать apt-get:
- скомпилируйте и установите sqlite3 из исходных кодов, указав свой собственный префиксный путь. Более подробную информацию можно найти в README.
- Затем передайте этот путь установщику sqlite3-ruby (не забудьте "-").
Это та же самая проблема, которая была у меня несколько недель назад. Я обнаружил, что мне нужно загрузить самые последние заголовки / библиотеки со страницы загрузки SQLite. Попробуйте, надеюсь, это поможет!