2

Rails sqlite3 gem をビルドできません。sqlite3-ruby をインストールしても 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)

ホスティングプロバイダーのバージョンを一致させる必要があるため、ルビーまたはレールをアップグレードできないことに注意してください。これは、Mountain Lion のアップグレード前にビルドされていたと思います。今日、最新の XCode をインストールしました。

私はこれがどういうわけか私の問題でなければならないことを知っています(そしてそれは何かばかげていると思います)が、その方法がわかりません。誰でも助けてもらえますか?

4

1 に答える 1

0

コメントを投稿するのに十分な評判がないので、これは役に立たない可能性のある回答として投稿すると思います。エラーの意味も正直よくわかりませんが、RubyのバージョンかOSのせいなのかなと思います。ネイティブ ライブラリに関して、Mountain Lion の問題について何か言っている人を見たことがあります。SOでこの回答を見つけました。私は彼の 2 番目と 3 番目のオプション (ユキヒョウのオプションではありません) を試して、違いがあるかどうかを確認します。

于 2012-08-17T21:10:18.530 に答える