Вопрос

Я пытался сделать это

gem uninstall sqlite3-ruby
gem uninstall sqlite3

Затем я исполнил find ~/ | grep mkmf.log

И это удалило любой каталог sqlite3, который был у меня в системе.

Но он все еще лежит в моем мусорном ведре.Кто-нибудь знает более профессиональный способ удаления sqlite3?

Я говорю это, потому что я сталкиваюсь с этой ошибкой уже пять дней :

sqlite3-ruby only supports sqlite3 versions 3.6.16+, please upgrade!
*** extconf.rb failed ***

Я уже трижды полностью распотрошил свой сервер и переустанавливал каждое отдельное приложение и sqlite3, включенный в него, снова и снова.Но он все еще думает, что это старый заголовок.

Спасибо!

Это было полезно?

Решение

Я рекомендую вам использовать rvm и bundler для управления вашими драгоценными камнями и зависимостями от них.Я никогда не устанавливаю какие-либо общесистемные gems, особенно на Mac, где работа с общесистемными gems может стать действительно запутанной.

Установить и запустить rvm + bundler несложно.

Сначала установите rvm (у вас должен быть git).

bash < <( curl http://rvm.beginrescueend.com/releases/rvm-install-head )
# this will be installed on your $HOME/.rvm directory

Настройка rvm

echo "source $HOME/.rvm/scripts/rvm" >> $HOME/.bash_profile
source "$HOME/.rvm/scripts/rvm" 

Затем установите свой ruby через rvm

rvm install ree # Ruby Enterprise Edition or,
# rvm install 1.9.2
# rvm install 1.8.7

Переключитесь на свой компилятор ruby

rvm use ree

Создайте свой набор драгоценных камней, чтобы легко переключаться на разные версии драгоценных камней.

rvm gemset create rails3 # where rails3 is the gemset name

Используйте свой набор драгоценных камней

rvm use ree@rails3

Установить пакетировщик

gem install bundler # without sudo

Создайте Gemfile и установите свои gems.

mkdir myproject
cd myproject
bundle init # this will create a Gemfile
echo "gem 'rails'" >> Gemfile
echo "gem 'sqlite3-ruby', :require => 'sqlite3'" >> Gemfile
bundle install

Что касается вашего исходного сообщения, если это системная установка, вы можете проверить это, запустив which sqlite3_ruby и если он вернется /usr/bin/sqlite3_ruby тогда вам следует добавить sudo к gem uninstall команда.

Другие советы

Гем Ruby — это всего лишь оболочка «настоящего» SQLite, который представляет собой библиотеку и инструмент командной строки.Таким образом, удаление драгоценного камня не удаляет библиотеку/cli.Вам нужно удалить это с помощью любого инструмента упаковки, который есть в вашей операционной системе (вы не указали нам, какую ОС вы используете), например yast или apt или pkg...

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top