我正在尝试在没有 root 权限的 linux 机器上安装 sqlite3 和 sqlite-ruby (ruby 1.8.6)。
我下载了 sqlite3 源代码、二进制文件和共享库,并将它们全部放在一个名为 sqlite3 的目录中
然后我尝试使用安装 sqlite-ruby
gem install sqlite-ruby --with-sqlite-dir=the_path_sqlite/sqlite3
但我一直收到错误...
checking for main() in -lsqlite... no
checking for sqlite.h... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the mkmf.log file for more
details. You may need configuration options.
Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/data/scratch/bettbra/common/packages/ruby-1.8.6/bin/ruby
--with-sqlite-dir
--with-sqlite-include
--without-sqlite-include=${sqlite-dir}/include
--with-sqlite-lib
--without-sqlite-lib=${sqlite-dir}/lib
--with-sqlitelib
--without-sqlitelib
最佳答案
您使用以下语法指定开发文件( header 和库)的位置:
gem install sqlite3 -- --with-sqlite3-include=$HOME/include --with-sqlite3-lib=$HOME/lib
注意 -- 标记 gem
选项的结尾。在它们之后,选项被传递到扩展编译过程。
但是,我赞同鲁本的建议;你真的应该考虑使用 RVM。对于这种情况以及顺利迁移到 Ruby 1.9 是一件幸事。
关于ruby - 当 sqlite3 不在/usr/local 时,如何在 linux 上安装 sqlite-ruby?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2481118/