У меня есть ошибка при установке sqlite3-ruby:
Building native extensions. This could take a while... ERROR: Error installing sqlite3-ruby: ERROR: Failed to build gem native extension. /usr/bin/ruby1.8 extconf.rb checking for sqlite3.h... no sqlite3.h is missing. Try 'port install sqlite3 +universal' or 'yum install sqlite3-devel' *** 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=/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 files will remain installed in /usr/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.3.1 for inspection. Results logged to /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
не работает
ERROR: While executing gem ... (OptionParser::InvalidOption) invalid option: --without-sqlite3-include=/usr/include
Ubuntu 10.04
Вам нужны заголовки разработки SQLite3 для встроенного расширения самоцветов для компиляции. Вы можете установить их, запустив (возможно, с помощью sudo
):
apt-get install libsqlite3-dev
sudo apt-get install libsqlite3-dev
. Благодарю.
Вам просто нужен --
.
sudo gem install sqlite3-ruby -- --with-sqlite3-include=/usr/include
Это указывает на то, что опция не предназначена для gem напрямую, а для конкретного драгоценного камня.
В моем случае у меня нет базовых компиляторов, поэтому
sudo apt-get install build-essential
решил мою проблему, но для большинства людей, я думаю, https://stackoverflow.com/questions/3458602/sqlite3-ruby-install-error-on-ubuntu - это решение.
Это то, что я сделал:
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
from: http://cuasan.wordpress.com/2010/10/13/rails-3-on-debian-with-sqlite-3/
Если вы запустите в ubuntu и используете RVM для рубинов на рельсах, добавьте FIRST:
sudo apt-get install libxslt-dev libxml2-dev
ИЛИ Вы можете проверить эти команды:
Эта команда подготовит для вас два пакета: sqllite3 и libsqlite3-dev
sudo apt-get install sqlite3 libsqlite3-DEV
-Но теперь установите камень sqlite
[sudo] gem install sqlite3-ruby
- использование Ubuntu не требуется sudo.
Гудлак! Примечание: я использую Ubuntu 10.10, и он работает.
sudo apt-get install sqlite3 libsqlite3-dev
работал для меня
Этого было достаточно, чтобы заставить его работать
sudo apt-get install libsqlite3-dev
Благодаря marshluca
Пробовал ВСЕ другие решения, ни один не помог.
Оказалось, что вам также нужен пакет 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
работает как шарм.
Здесь лучший ответ HEROKU - не может запустить git push heroku master
Поскольку вы не можете использовать sqlite3 на heroku, добавьте это в свой Gemfile:
group :production do
gem 'pg'
end
group :development, :test do
gem 'sqlite3'
end
Решение состоит в том, чтобы добавить --
, чтобы отделить параметры 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
Из 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
Забудьте все и сделайте это,
бег
yum install ruby-devel sqlite sqlite-devel ruby-rdoc
yum install make gcc
gem install sqlite3-ruby
bundle install
Что для rhel, запустите для ubuntu.
Вы нарушили версию RVM. Ubuntu что-то делает для RVM, который создает множество ошибок, единственный безопасный способ исправления на данный момент: sudo apt-get --purge удалить 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, что дает немного больше объяснений
Я согласен с Danya Vershinin и EnotionZ.
Если не удается использовать apt-get:
Для меня проблема была решена путем получения mkmf, который находится в ruby1.8-dev.
sudo apt-get install ruby1.8-dev
Благодаря mentalized для этого.
Это то же самое, что я имел несколько недель назад. Я узнал, что мне нужно загрузить последние заголовки/библиотеки на странице загрузки SQLite. Попробуйте, надеюсь, это поможет!
Не --without-sqlite3-include=/usr/include
, но --with-sqlite3-include=/usr/include
.