CentOS 5.6で利用可能でインストールされている最新のSQLite3ライブラリは、バージョン3.3.6です。sqlite3gemにはバージョン3.6以降が必要だと私は理解しています。
サーバーのライブラリをアップグレードせずにアプリをSQLite3で動作させるにはどうすればよいですか?それは作業環境にあり、私はそれをアップグレードすることを単に許可されていません。
CentOS 5.6で利用可能でインストールされている最新のSQLite3ライブラリは、バージョン3.3.6です。sqlite3gemにはバージョン3.6以降が必要だと私は理解しています。
サーバーのライブラリをアップグレードせずにアプリをSQLite3で動作させるにはどうすればよいですか?それは作業環境にあり、私はそれをアップグレードすることを単に許可されていません。
必要なバージョンの sqlite の静的ライブラリをコンパイルできます。次に、新しい静的ライブラリへの参照を使用して sqlite3 gem をインストールします。
この手順をテストしていませんが、プロセスが...
1. SQLite ソースを新しいディレクトリにダウンロードして展開します。
mkdir $HOME/sqlite3.7.7.1
cd $HOME/sqlite3.7.7.1
wget http://www.sqlite.org/sqlite-autoconf-3070701.tar.gz
tar -zxvf sqlite-autoconf-3070701.tar.gz
cd sqlite-autoconf-3070701
2. 構成、コンパイル、およびインストール。
./configure --disable-shared --enable-static --prefix=$HOME/sqlite3.7.7.1
make && make install
3.A. (オプション 1) 新しい静的ライブラリへの参照を使用して SQLite gem をインストールします。
gem install sqlite3 --with-sqlite3-dir=$HOME/sqlite3.7.7.1
3.B. (オプション 2) バンドラー経由でインストールします。*sqlite3 がすでに Gemfile に追加されていると仮定します( Lester さんに感謝)
bundle config build.sqlite3 \
--with-sqlite3-include=$HOME/sqlite3.7.7.1/include \
--with-sqlite3-lib=$HOME/sqlite3.7.7.1/lib \
--with-sqlite3-dir=$HOME/sqlite3.7.7.1/bin
bundle install
これは、長年にわたって蓄積されたいくつかの異なるバージョンのsqlite3を備えたMacBookで機能しました。
私にとって、宝石のインストールは次のとおりです。
gem install sqlite3 -- --with-sqlite3-dir=/path/to/sqlite3/ディレクトリ
つまり、メインの sqlite3 開発ディレクトリをリストするだけで済みましたが、余分な「--」を使用する必要がありました。
これにより、Rails 3.1 を Max OS X Lion にインストールできました。
この手順は、1 つの小さな調整でうまくいきました。ステップ 3.A には gem 1.3.7 と rails 3.1.0 を使用します。私がしなければなりませんでした:
gem install sqlite3 -- --with-sqlite3-dir=$HOME/sqlite3.7.7.1 --with-sqlite3-lib=$HOME/sqlite3.7.7.1/lib
中間の余分な「--」により、gem ファイルによって解析されないオプションが許可されました