我正在尝试 rvm,并用它安装了 ruby 1.9.2 和 rails 3。我需要重新安装 sqlite3-ruby gem(因为 rvm 为不同版本的 ruby 将所有 gem 分开)。
问题是,当我尝试时,我得到:
gem install sqlite3-ruby
/home/jenny/.rvm/rubies/ruby-1.9.2-p0/bin/gem:4: warning: Insecure world writable dir /home/jenny/.rvm/gems/ruby-1.9.2-p0/bin in PATH, mode 040777
Building native extensions. This could take a while...
ERROR: Error installing sqlite3-ruby:
ERROR: Failed to build gem native extension.
/home/jenny/.rvm/rubies/ruby-1.9.2-p0/bin/ruby extconf.rb
checking for sqlite3.h... yes
checking for sqlite3_libversion_number() in -lsqlite3... yes
checking for rb_proc_arity()... yes
checking for sqlite3_initialize()... yes
checking for sqlite3_next_stmt()... yes
checking for sqlite3_column_database_name()... yes
checking for sqlite3_enable_load_extension()... no
checking for sqlite3_load_extension()... no
creating Makefile
make
gcc -I. -I/home/jenny/.rvm/rubies/ruby-1.9.2-p0/include/ruby-1.9.1/i686-linux -I/home/jenny/.rvm/rubies/ruby-1.9.2-p0/include/ruby-1.9.1/ruby/backward -I/home/jenny/.rvm/rubies/ruby-1.9.2-p0/include/ruby-1.9.1 -I. -DHAVE_RB_PROC_ARITY -DHAVE_SQLITE3_INITIALIZE -DHAVE_SQLITE3_NEXT_STMT -DHAVE_SQLITE3_COLUMN_DATABASE_NAME -I/usr/local/include -I/opt/local/include -I/sw/local/include -I/usr/include -D_FILE_OFFSET_BITS=64 -fPIC -O3 -ggdb -Wextra -Wno-unused-parameter -Wno-parentheses -Wpointer-arith -Wwrite-strings -Wno-missing-field-initializers -Wno-long-long -fPIC -o exception.o -c exception.c
In file included from ./sqlite3_ruby.h:42,
from exception.c:1:
./backup.h:7: error: expected specifier-qualifier-list before ‘sqlite3_backup’
make: *** [exception.o] Error 1
我真的不太清楚该怎么做......我之前已经在这台机器上安装了 sqlite3-ruby(使用 rails 2.3.5)当我尝试重新安装这个 gem(使用 rvm 系统设置)它没有安装在 ruby 1.8.7 环境中,要么。
rvm 是否破坏了宝石?新 gem 是否与我的操作系统不兼容(我正在运行 opensuse linux)
编辑:当我尝试在我的常规 ruby 环境中重新安装(卸载而不是再次安装)sqlite3-ruby 时,我得到了同样的错误,但随后看到我的 gem 列表中列出的 sqlite3-ruby(不确定它是否以某种方式从备份中恢复,或安装尽管有错误)