$ bundle install:构建本地扩展宝石失败

6
使用Snow leopard,Rails 3.0.3,ruby 1.9.2p0和RVM。当试图安装bundle时,我得到以下错误提示:
[first_app]$ bundle install
Fetching source index for http://rubygems.org/
Using rake (0.8.7) 
Using abstract (1.0.0) 
Using activesupport (3.0.3) 
Using builder (2.1.2) 
Using i18n (0.5.0) 
Using activemodel (3.0.3) 
Using erubis (2.6.6) 
Using rack (1.2.1) 
Using rack-mount (0.6.13) 
Using rack-test (0.5.7) 
Using tzinfo (0.3.24) 
Using actionpack (3.0.3) 
Using mime-types (1.16) 
Using polyglot (0.3.1) 
Using treetop (1.4.9) 
Using mail (2.2.14) 
Using actionmailer (3.0.3) 
Using arel (2.0.7) 
Using activerecord (3.0.3) 
Using activeresource (3.0.3) 
Using bundler (1.0.7) 
Using thor (0.14.6) 
Using railties (3.0.3) 
Using rails (3.0.3) 
Installing sqlite3 (1.3.3) with native extensions /Users/dawson/.rvm/rubies/ruby-1.9.2-p

0/lib/ruby/1.9.1/rubygems/installer.rb:483:in `rescue in block in build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)
/Users/dawson/.rvm/rubies/ruby-1.9.2-p0/bin/ruby extconf.rb 
checking for sqlite3.h... *** 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.
5个回答

5

您的系统缺少与sqlite相关的一些库。这是依赖于应该安装在计算机上的库的宝石常见的问题。尝试安装libsqlite3-dev。


gem install libsqlite3-dev 错误:在任何存储库中都找不到有效的 gem 'libsqlite3-dev'(>= 0) - RewbieNewbie
我一直收到以下错误提示:编译器无法生成可执行文件,您必须先安装开发工具。 - RewbieNewbie
上周我换了新的笔记本电脑,忘了,我想我需要安装苹果开发者工具! - RewbieNewbie
sudo apt-get install libsqlite3-dev - Travis Reeder

1
我遇到了几乎完全相同的问题(Snow Leopard,Ruby1.9.2-p0,RVM,Rails 3.1.0rc4,并安装了开发人员工具),通过升级到较新的 Ruby 补丁级别来解决它。
使用 RVM,您可以编写:
rvm upgrade ruby-1.9.2-p180 ruby-1.9.2-p0

(180是当前的补丁,但在您尝试此操作时可能会有更新版本。请使用此处命名的稳定版本:http://www.ruby-lang.org/en/downloads/


这对我也起作用了。我试图为vagrant安装ffi时一直失败,但在设置1.9.2-p0后它就可以工作了。值得注意的是,我认为我必须执行“rvm get head”才能成功构建ruby-1.9.2-p0。此外,我的rvm非常混乱,在我能够构建/安装任何东西之前,我必须启动一个新终端。如果rvm出现问题,这总是一个好主意。 - apinstein

0

尝试:

gem "sqlite-ruby", "~> 1.3.1"

你可能会遇到问题,因为你正在使用 Ruby 1.9。据说这个 gem 可以与 1.9 版本一起工作:

http://isitruby19.com/sqlite3-ruby


0

使用'sudo bundle install',因为本地扩展尝试写入系统目录。


0
1. sudo -s 2. export ARCHFLAGS='-arch x86_64' 3. export PATH=/Library/PostgreSQL/9.1/bin:${PATH} 4. gem install pg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接