CentOS 5.6 上提供并安装的最新 SQLite3 库版本为 3.3.6。据我了解,sqlite3 gem 需要 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
关于ruby-on-rails - Rails 3.1 应用程序无法安装 sqlite3 gem,因为库已过时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7367274/