Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails 3.1应用程序可以';无法安装sqlite3 gem,因为库已过期_Ruby On Rails_Ruby On Rails 3_Sqlite_Centos_Sqlite3 Ruby - Fatal编程技术网

Ruby on rails Rails 3.1应用程序可以';无法安装sqlite3 gem,因为库已过期

Ruby on rails Rails 3.1应用程序可以';无法安装sqlite3 gem,因为库已过期,ruby-on-rails,ruby-on-rails-3,sqlite,centos,sqlite3-ruby,Ruby On Rails,Ruby On Rails 3,Sqlite,Centos,Sqlite3 Ruby,CentOS 5.6上提供并已安装的最新SQLite3库版本为3.3.6。据我所知,sqlite3 gem需要3.6或更高版本 如何让我的应用程序在不升级服务器上的库的情况下与SQLite3一起工作?它在一个工作环境中,我根本不允许升级它。您可以编译一个您需要的sqlite版本的静态库。然后安装sqlite3 gem,并引用新的静态库 虽然我还没有测试过这个过程,但我可以看到这个过程 1。在新目录中下载并解压缩SQLite源代码。 mkdir $HOME/sqlite3.7.7.1 cd $HO

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
./configure --disable-shared --enable-static --prefix=$HOME/sqlite3.7.7.1
make && make install
gem install sqlite3 --with-sqlite3-dir=$HOME/sqlite3.7.7.1
2。配置、编译和安装。

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
./configure --disable-shared --enable-static --prefix=$HOME/sqlite3.7.7.1
make && make install
gem install sqlite3 --with-sqlite3-dir=$HOME/sqlite3.7.7.1
3.A。(选项1)安装SQLite gem时,请参考新的静态库。

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
./configure --disable-shared --enable-static --prefix=$HOME/sqlite3.7.7.1
make && make install
gem install sqlite3 --with-sqlite3-dir=$HOME/sqlite3.7.7.1
3.B。(选项2)通过捆绑机安装*假设sqlite3已经添加到GEM文件中(感谢Lester)


这些步骤对我很有效,只是做了一个小小的调整。步骤3.A使用GEM1.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文件< /P> > P>解析。这对MacBook来说是有效的。MacBook有很多不同版本的SqLITE3,这些版本已经积累了很多年。

对我来说,gem安装是:

gem安装sqlite3--with-sqlite3-dir=/path/to/sqlite3/directory

换句话说,我只需要列出主sqlite3开发目录,但我必须使用额外的“-”


这允许在Max OS X Lion下安装Rails 3.1

我必须使用bundler自定义安装,如so
bundle config build.sqlite3--with-sqlite3-include=$HOME/include--with-sqlite3-lib=$HOME/lib--with-sqlite3-dir=$HOME/bin
。然后只需运行
bundle安装
,一切都很好。