8

ここでRubyの初心者は、Gemの使用方法を理解しようとしていますが、これまでのところ、経験はそれほど素晴らしいものではありません。

gemを介してmysql2をインストールした後、単純なファイルで使用しようとしました。

'mysql2'が必要

#client = Mysql2 :: Client.new(:host => "localhost"、:username => "username")

これを実行すると、次のようになります。

Parse.rb:1:in `require':ロードするそのようなファイルはありません--mysql2(LoadError)
 Parse.rb:1から

それでも私のgemリストにはmysql2が含まれています:

Tanner-Smiths-MacBook-Pro:Humans_vs_Zombies_Parse tanner$gemリスト

***ローカルジェム***

抽象(1.0.0)
actionmailer(3.0.1、2.3.5、1.3.6)
アクションパック(3.0.1、2.3.5、1.13.6)
actionwebservice(1.2.6)
アクティブモデル(3.0.1)
activerecord(3.0.1、2.3.5、1.15.6)
activeresource(3.0.1、2.3.5)
activesupport(3.0.1、2.3.5、1.4.4)
Acts_as_ferret(0.4.3)
アレル(2.0.2)
ビルダー(2.1.2)
capistrano(2.5.19、2.5.2)
cgi_multipart_eof_fix(2.5.0)
デーモン(1.1.0、1.0.10)
dnssd(1.4、0.6.0)
エルビス(2.6.6)
fastthread(1.0.7、1.0.1)
fcgi(0.8.8、0.8.7)
フェレット(0.11.6)
gem_plugin(0.2.3)
ハイライン(1.6.1、1.5.0)
hpricot(0.8.3、0.6.164)
i18n(0.4.2)
jk-フェレット(0.11.8.2)
libxml-ruby(1.1.4、1.1.2)
メール(2.2.9)
mime-types(1.16)
雑種(1.1.5)
mysql2(0.2.6)
針(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)
多言語(0.3.1)
ラック(1.2.1、1.0.1)
ラックマウント(0.6.13)
ラックテスト(0.5.6)
レール(2.3.5、1.2.6)
レールティー(3.0.1)
レーキ(0.8.7、0.8.3)
RedCloth(4.2.3、4.1.1)
ruby-openid(2.1.8、2.1.2)
ルビーヤディス(0.3.4)
ルビーノード(0.1.5)
sqlite3-ruby(1.3.2、1.2.4)
termios(0.9.4)
トール(0.14.4)
ツリートップ(1.4.8)
tzinfo(0.3.23)
xmpp4r(0.5、0.4)

「rubyenv」の結果:

RubyGems環境:
  --RUBYGEMSバージョン:1.3.5
  -ルビーバージョン:1.8.7(2009-06-12パッチレベル174)[universal-darwin10.0]
  -インストールディレクトリ:/ Library / Ruby / Gems / 1.8
  -RUBY実行可能ファイル:/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby
  -実行可能ディレクトリ:/ usr / bin
  --RUBYGEMSプラットフォーム:
    -ルビー
    -ユニバーサル-ダーウィン-10
  -GEMパス:
     -/ 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構成:
     -:update_sources => true
     -:verbose => true
     -:benchmark => false
     -:backtrace => false
     -:bulk_threshold => 1000
  -リモートソース:
     -http://gems.rubyforge.org/

私はここで何が間違っているのですか?私はそれを理解することはできません。

ありがとう

-タナー

4

3 に答える 3

6

試す:

require 'rubygems'
require 'mysql2'
于 2010-11-12T14:58:05.970 に答える
6

お気づきかもしれませんが、複数のバージョンのrubyがインストールされています。RVMを使用して複数のrubyバージョンを管理することを強くお勧めします。

これは大げさな推測ですが、コマンドラインを使用してアプリケーションを実行しておらず、TextMateなどのツールを使用している場合は、シェル変数「TM_RUBY」を設定して、Rubygems(1.8.7)がインストールされたRubyバージョンを指すようにする必要があります。 (2009-06-12パッチレベル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をインストールします。そしてあなたの人生をはるかに楽にします。

于 2010-11-14T21:23:54.950 に答える
1

詳細情報を入手するには、irbを起動して実行します。

'rubygems'が必要
gem'mysql2'#=>これによりエラーが発生しますか?
$ :. grep / mysql2 /#=>前の行からエラーがない場合は、これが示す内容を投稿してください

また、ターミナルプロンプトで、「gemcontentsmysql2」を実行します。次で終わるパスが表示されますか?

lib / mysql2 / error.rb
lib / mysql2 / mysql2.bundle
lib / mysql2 / client.rb
lib / mysql2 / result.rb
lib / mysql2.rb
于 2010-11-12T19:47:34.030 に答える