CentOS 5.6上提供的最新SQLite3库已安装,版本为3.3.6。据我所知,sqlite3 gem需要3.6或更高版本。
如何在不升级服务器库的情况下让我的应用程序使用SQLite3?它处于工作环境中,我根本不允许升级它。
答案 0 :(得分:5)
您可以编译所需的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。 (option1)安装SQLite gem并引用新的静态库。
gem install sqlite3 --with-sqlite3-dir=$HOME/sqlite3.7.7.1
<强> 3.B。 (option2)通过bundler安装。 *假设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
答案 1 :(得分:0)
通过一个小调整,这些步骤对我有用。对于步骤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文件解析
答案 2 :(得分:0)
这对我来说对MacBook有用,它有多年来积累的不同版本的sqlite3。
对我来说,gem安装是:
gem install sqlite3 - --with-sqlite3-dir = / path / to / sqlite3 / directory
换句话说,我只需要列出主要的sqlite3开发目录,但我确实必须使用额外的“ - ”。
这允许在Max OS X Lion下安装Rails 3.1