Ruby on rails rails sqlite3 gem不会在OS X Mountain Lion上构建:为true:TrueClass调用了私有方法'split'

Ruby on rails rails sqlite3 gem不会在OS X Mountain Lion上构建:为true:TrueClass调用了私有方法'split',ruby-on-rails,macos,build,sqlite,Ruby On Rails,Macos,Build,Sqlite,我无法构建rails sqlite3 gem。无论我是安装SQLite3Ruby还是仅仅安装sqlite3,它都会失败。由于sqlite3是由macports安装的,所以它全部位于/opt/local中。我使用rvm。我正在使用最新更新的OS X Mountain Lion Macbook flyer$ which sqlite3 /opt/local/bin/sqlite3 flyer$ ruby -v ruby 1.8.7 (2012-02-08 patchlevel 358) [i686-

我无法构建rails sqlite3 gem。无论我是安装SQLite3Ruby还是仅仅安装sqlite3,它都会失败。由于sqlite3是由macports安装的,所以它全部位于/opt/local中。我使用rvm。我正在使用最新更新的OS X Mountain Lion Macbook

flyer$ which sqlite3
/opt/local/bin/sqlite3
flyer$ ruby -v
ruby 1.8.7 (2012-02-08 patchlevel 358) [i686-darwin11.4.0]
flyer$ rails -v
Rails 2.3.14

flyer$ gem install sqlite3-ruby -- --with-opt-dir
Building native extensions.  This could take a while...
ERROR:  Error installing sqlite3-ruby:
    ERROR: Failed to build gem native extension.

        /Users/russ/.rvm/rubies/ruby-1.8.7-p358/bin/ruby extconf.rb --with-opt-dir
/Users/russ/.rvm/rubies/ruby-1.8.7-p358/lib/ruby/1.8/mkmf.rb:1164:in `dir_config': private method `split' called for true:TrueClass (NoMethodError)
    from /Users/russ/.rvm/rubies/ruby-1.8.7-p358/lib/ruby/1.8/mkmf.rb:1745:in `init_mkmf'
    from /Users/russ/.rvm/rubies/ruby-1.8.7-p358/lib/ruby/1.8/mkmf.rb:1770
    from extconf.rb:3:in `require'
    from extconf.rb:3
***dir_config: dir is true, target is opt, idefault is , ldefault is 

Gem files will remain installed in /Users/russ/.rvm/gems/ruby-1.8.7-p358/gems/sqlite3-1.3.6 for inspection.
Results logged to /Users/russ/.rvm/gems/ruby-1.8.7-p358/gems/sqlite3-1.3.6/ext/sqlite3/gem_make.out
以***dir_config:开头的那一行是我在mkmf.rb第1164行之前添加的puts语句的输出。第1164行是

defaults = Array === dir ? dir : dir.split(File::PATH_SEPARATOR)
请注意,我无法升级ruby或rails,因为我需要与宿主提供商的版本相匹配。我相信这是在我的Mountain Lion升级之前建立的,我今天安装了最新的XCode


我知道这一定是我的问题,我怀疑这是个愚蠢的问题,但我不知道怎么回事。有人能帮忙吗?

我没有足够的声誉发表评论,所以我想我会发布一个可能没有帮助的答案。老实说,我也确实不理解这个错误,但我想知道它是否与Ruby版本或操作系统有关。我看到一些人在谈论关于山狮图书馆的问题。我发现是这样的;我会尝试他的第二个和第三个选项,而不是雪豹选项,看看这是否有什么不同。

我没有足够的声誉发表评论,所以我想我会发布一个可能没有帮助的答案。老实说,我也确实不理解这个错误,但我想知道它是否与Ruby版本或操作系统有关。我看到一些人在谈论关于山狮图书馆的问题。我发现是这样的;我会尝试他的第二个和第三个选项,而不是雪豹选项,看看这是否有什么不同。

这对我来说毫无意义。dir\u config的第二行是if dir=with\u configtarget+-dir,idefault,除非ldefault。with_config返回一个布尔值。因此,与_config一起失败的那一行实际上是在布尔值上调用split。这怎么行得通?我错过了什么?这对我来说毫无意义。dir\u config的第二行是if dir=with\u configtarget+-dir,idefault,除非ldefault。with_config返回一个布尔值。因此,与_config一起失败的那一行实际上是在布尔值上调用split。这怎么行得通?我遗漏了什么?我通过安装sqlite3而不需要-with opt dir解决了这个问题,我不记得具体是如何解决的。但无论您使用的是什么版本的OS或Ruby,都不能在布尔值上调用split。但是代码中有它,我通过安装sqlite3解决了这个问题,而不需要-with opt dir,我不记得具体是如何解决的。但无论您使用的是什么版本的OS或Ruby,都不能在布尔值上调用split。然而,代码中却有它。