Ruby新手在这里试图找出如何使用宝石,到目前为止,经验并不是那么好.
通过gem安装MysqL2之后我尝试在一个简单的文件中使用它.
require 'MysqL2' #client = MysqL2::Client.new(:host => "localhost",:username => "username")
虽然当我运行这个时,我得到:
Parse.rb:1:in `require': no such file to load -- MysqL2 (LoadError) from Parse.rb:1
然而我的宝石列表包含MysqL2:
Tanner-Smiths-MacBook-Pro:Humans_vs_Zombies_Parse tanner$gem list *** LOCAL GEMS *** abstract (1.0.0) actionmailer (3.0.1,2.3.5,1.3.6) actionpack (3.0.1,1.13.6) actionwebservice (1.2.6) activemodel (3.0.1) activerecord (3.0.1,1.15.6) activeresource (3.0.1,2.3.5) activesupport (3.0.1,1.4.4) acts_as_ferret (0.4.3) arel (2.0.2) builder (2.1.2) capistrano (2.5.19,2.5.2) cgi_multipart_eof_fix (2.5.0) daemons (1.1.0,1.0.10) dnssd (1.4,0.6.0) erubis (2.6.6) fastthread (1.0.7,1.0.1) fcgi (0.8.8,0.8.7) ferret (0.11.6) gem_plugin (0.2.3) highline (1.6.1,1.5.0) hpricot (0.8.3,0.6.164) i18n (0.4.2) jk-ferret (0.11.8.2) libxml-ruby (1.1.4,1.1.2) mail (2.2.9) mime-types (1.16) mongrel (1.1.5) MysqL2 (0.2.6) needle (1.3.0) net-scp (1.0.4,1.0.1) net-sftp (2.0.5,2.0.1,1.1.1) net-ssh (2.0.23,2.0.4,1.1.4) net-ssh-gateway (1.0.1,1.0.0) polyglot (0.3.1) rack (1.2.1,1.0.1) rack-mount (0.6.13) rack-test (0.5.6) rails (2.3.5,1.2.6) railties (3.0.1) rake (0.8.7,0.8.3) RedCloth (4.2.3,4.1.1) ruby-openid (2.1.8,2.1.2) ruby-yadis (0.3.4) rubynode (0.1.5) sqlite3-ruby (1.3.2,1.2.4) termios (0.9.4) thor (0.14.4) treetop (1.4.8) tzinfo (0.3.23) xmpp4r (0.5,0.4)
“ruby env”的结果:
RubyGems Environment: - RUBYGEMS VERSION: 1.3.5 - 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/tanner/.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 - REMOTE SOURCES: - http://gems.rubyforge.org/
我在这做错了什么?我无法弄明白.
谢谢
-皮匠
解决方法
您可能已经注意到,您安装了多个版本的ruby.我强烈建议您使用
RVM来管理多个ruby版本.
这是一个疯狂的猜测,但如果你没有使用命令行来运行你的应用程序并使用TextMate等工具,你可能需要设置一个shell变量“TM_RUBY”来指向安装了rubygems的ruby版本(1.8.7) (2009-06-12 patchlevel 174)).
你可以试试:
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/irb
要安装rubygems来获取irb版本,然后尝试:
require 'rubygems' require 'MysqL2'
如果这有效并且您对此感到满意,您可以更新/usr/bin/ruby,/usr/bin/irb,/usr/bin/gem中的符号链接以指向旧版本的ruby或再次安装RVM让你的生活更轻松