这里的 Ruby 新手试图弄清楚如何使用 Gem,到目前为止,体验并不是很好。
在通过 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
然而我的 gem 列表包含 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, 2.3.5, 1.13.6) actionwebservice (1.2.6) activemodel (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) 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 环境”的结果:
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 补丁级别 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 中的符号链接(symbolic link)以指向旧版本的 ruby 或者一次再次安装 RVM,让您的生活更轻松。
关于 ruby gem - LoadError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4165826/
从MB升级到新的MBP后,Apple的迁移助手没有移动我的gem。我这次是通过macports安装rubygems,希望在下次升级时避免这种情况。有什么我应该注意的陷阱吗? 最佳答案 如果你想把你的gems安装在你的主目录中(在传输过程中应该复制过来,作为一个附带的好处,会让你以你自己的身份运行geminstall,而不是root),将gemhome:键设置为您在~/.gemrc中的主目录中的路径. 关于通过MacPorts的RubyGems是个好主意吗?,我们在StackOverf
我指的是pubrailscasttutorial并已正确执行所有步骤,但在运行最后一个命令时,即rackupprivate_pub.ru-sthin-Eproduction为了架设faye服务器,我收到以下错误:/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in`require':cannotloadsuchfile--thin(LoadError)from/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in`require'from/var/lib/gems/1.9.1/gems
当你安装一个新包时,例如,'geminstallfb-graph',文件下载到哪里了? 最佳答案 使用此命令查找特定gem的安装位置:gemwhich例如:gemwhichfb-graph 关于ruby-on-rails-Rubygems-包在哪里下载?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/13200065/
输入rakedb:create后我得到:LoadError:Couldnotopenlibrary'sodium':dlopen(sodium,5):imagenotfound.Couldnotopenlibrary'libsodium.dylib':dlopen(libsodium.dylib,5):imagenotfound这里还有一些输出。/Users/Mao/.rvm/gems/ruby-2.0.0-p451/gems/ffi-1.9.3/lib/ffi/library.rb:133:in`blockinffi_lib'/Users/Mao/.rvm/gems/ruby-2.0
这个问题在这里已经有了答案:Unabletoinstallgem-Failedtobuildgemnativeextension-cannotloadsuchfile--mkmf(LoadError)(17个答案)关闭9年前。嘿,我正在尝试在一台新的ubuntu机器上安装rails。我安装了ruby和rvm,但出现“无法构建gemnative扩展”错误。这是什么意思?$sudogeminstallrails-v3.2.9(没有sudo表示我没有权限)然后它会输出很多“获取”命令,最终会出现这个错误:Buildingnativeextensions.Thiscouldtakeawhi
我最近将机器从iMac转移到带有Mavericks的新MacBookPro。一切都很好,但我注意到当我保存文件时Grunt崩溃了(自动更新不工作)。我试图更新我的系统,但是当我通过终端运行我的grunt任务时,我收到以下错误:Running"compass:dev"(compass)task/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:777:in`report_activate_error':CouldnotfindRubyGemcompass(>=0)(Gem:
我正在尝试创建一个新的Rails项目,Jakes-Air:codeJakeWengroff$railsnewMyNewProject-T但我一直收到这个错误:script/rails:5:in`require':cannotloadsuchfile--/Users/JakeWengroff/config/boot(LoadError)fromscript/rails:5:in`'检查Ruby版本,ruby-v,我明白了ruby2.1.2p95(2014-05-08revision45877)[x86_64-darwin13.0]当我想检查Rails的版本时,rails-v,我得到了与我
我有一个基于1.8.7构建的应用程序,我正尝试在1.9.3的系统上启动它当我运行脚本/服务器时,我得到:/usr/local/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in`require':cannotloadsuchfile--test/unit/error(LoadError)from/usr/local/lib/ruby/1.9.1/rubygems/custom_require.rb:36:in`require'我的服务器脚本如下所示:#!/usr/bin/envrubyrequireFile.expand_path('../.
我在我的RubyonRails应用程序中使用ActiveRecord::Store模块时遇到了一个奇怪的问题。据我了解,该模块在后台使用“序列化”方法,因此它只是使用ruby内置的psychgem将您的数据序列化为yaml格式。大多数时候它工作正常,但有时我会收到500错误并显示以下消息:LoadError(cannotloadsuchfile--enc/trans/single_byte):~/.rbenv/versions/1.9.3-p286/lib/ruby/1.9.1/psych/visitors/emitter.rb:27:in`write'~/.rbenv/versi
运行bundle安装时,我收到以下消息:Rubygems2.0.14isnotthreadsafe,soyourgemswillbeinstalledoneatatime.UpgradetoRubygems2.1.0orhighertoenableparallelgeminstallation.这很奇怪,因为在我的RubyGems环境中它说我的RubyGems版本是:2.4.5.1(见下文)~/w/Rafftopia❯❯❯gemenvRubyGemsEnvironment:-RUBYGEMSVERSION:2.4.5.1-RUBYVERSION:2.2.5(2016-04-26patc