CentOS 7にRails 6環境を構築しようとしたらそもそもSQLite3の利用でハマった.「SQLite 3.8.3 or later is required (found 3.7.17)」というエラーが出てそのまま先に進めない.そこで,緊急の対策として,下記で対処することにする.
- SQLite3の最新版をユーザのホームディレクトリ以下に構築
- そのSQLite3を利用して,Rails環境を構築
以下,手順のメモ.
SQLite3最新版の構築
2020年9月4日現在,最新版は3.33.0なので,それをダウンロードして構築する.
# 作業自体は /tmp で行う
$ cd /tmp
$ wget https://www.sqlite.org/2020/sqlite-autoconf-3330000.tar.gz
...(略)
$ tar xzvf sqlite-autoconf-3330000.tar.gz
...(略)
$ cd sqlite-autoconf-3330000
# 自分のホームディレクトリ以下にインストールする
#(ここでは $HOME/sqlite3 にインストールするが,好きな場所でよい)
$ mkdir $HOME/sqlite3
$ ./configure --prefix=$HOME/sqlite3
...(略)
$ make
...(略)
$ make install
...(略)
# 動作確認
$ $HOME/sqlite3/bin/sqlite3 --version
3.33.0 2020-08-14 13:23:32 fca8dc8b578f215a969cd899336378966156154710873e68b3d9ac5881b0ff3f
構築したSQLite3を用いたgemの導入
既にシステムのSQLite3を用いて導入したgemがある場合は,それを削除してやりなおす.bundlerに「新しいSQLite3を使うよ」と指示して,gemを導入する.
以下,その手順.これでうまくいくはず.# 既に導入済みのgemがある場合はいったん削除
# bundle config path vendor/bundle しているという設定
$ rm -r vendor/bundle
# 新規のSQLite3を使うための設定
#($HOME/sqlite3 にインストールした場合.
# そうでない場合は緑字の部分を適宜変更せよ)
$ bundle config build.sqlite3 "--with-sqlite3-lib=$HOME/sqlite3/lib"
$ bundle install
...(略)
0 件のコメント:
コメントを投稿