Как вы полностью удаляете sqlite3?
-
14-11-2019 - |
Вопрос
Я пытался сделать это
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
...