0

安装 MySQL gem:

  $ export ARCHFLAGS="-arch i386 -arch x86_64"
  $ gem install mysql -- --with-mysql-config=/usr/local/bin/mysql_config

返回错误:

  ERROR:  While executing gem ... (NoMethodError)
  undefined method `spec' for nil:NilClass

我该如何解决?

信息:

  $ brew list
  git       
  mysql     
  readline

  $ gem env
  RubyGems Environment:
  - RUBYGEMS VERSION: 1.3.7
  - RUBY VERSION: 1.8.7 (2009-06-12 patchlevel 174) [universal-darwin10.0]
  - INSTALLATION DIRECTORY: /Library/Ruby/Gems/1.8
  - RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
  - EXECUTABLE DIRECTORY: /usr/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - universal-darwin-10
  - GEM PATHS:
     - /Library/Ruby/Gems/1.8
     - /Users/horace/.gem/ruby/1.8
     - /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
     - "gem" => "--no-ri --no-rdoc"
  - REMOTE SOURCES:
     - http://rubygems.org/

  $ which mysql
  /usr/local/bin/mysql

  $ gem list
  *** LOCAL GEMS ***
  brewbygems (0.3.1)
  sqlite3-ruby (1.3.2)

谢谢!

编辑:

dtruss 的输出:http: //clomputing.com/temp/dtruss-gem-install-mysql.txt

4

2 回答 2

6

对于 Ubuntu (Maverick),需要安装

sudo apt-get install libmysqlclient-dev

然后在那次运行之后

sudo gem install mysql

对于其他分布,首先

sudo apt-get install libmysqlclient-dev

并检查 mysql_config 在哪里http://packages.ubuntu.com/

并运行

sudo gem install mysql --with-mysql-config=path/to/mysql_config
于 2010-11-17T11:15:32.593 回答
1

也许尝试用 strace 运行它,看看问题是什么?

strace gem install mysql --with-mysql-config=/usr/local/bin/mysql_config

或者如果你在 Mac OS X dtruss gem install mysql --with-mysql-config=/usr/local/bin/mysql_config

于 2010-11-01T18:33:10.067 回答