mysql - Require 'mysql' 在 Textmate ruby​​ 脚本中失败,但在终端的 irb 中工作

标签 mysql ruby textmate

当我简单地使用

运行我的 ruby​​ 脚本时
require 'mysql'

在文本配合中失败并出现以下错误:

LoadError: cannot load such file — mysql

method require  in kernel_require.rb at line 54
method require  in kernel_require.rb at line 54
method <main>   in Test.rb at line 1

但是,如果我在终端中通过 irb 运行它,则 require 'mysql' 返回 true,并且我能够创建连接并查询数据库。

请告诉我为什么我的 textmate 脚本无法加载 mysql gem,但终端中的 irb 可以。

谢谢

更新

当我在终端中运行 gem env 时,我得到:

RubyGems Environment:
- RUBYGEMS VERSION: 2.2.2
- RUBY VERSION: 2.1.5 (2014-11-13 patchlevel 273) [x86_64-darwin14.0]
- INSTALLATION DIRECTORY: /Users/(useraccount)/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0
- RUBY EXECUTABLE: /Users/(useraccount)/.rbenv/versions/2.1.5/bin/ruby
- EXECUTABLE DIRECTORY: /Users/(useraccount)/.rbenv/versions/2.1.5/bin
- SPEC CACHE DIRECTORY: /Users/(useraccount)/.gem/specs
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-darwin-14
- GEM PATHS:
 - /Users/(useraccount)/.rbenv/versions/2.1.5/lib/ruby/gems/2.1.0
 - /Users/(useraccount)/.gem/ruby/2.1.0
- GEM CONFIGURATION:
 - :update_sources => true
 - :verbose => true
 - :backtrace => false
 - :bulk_threshold => 1000
- REMOTE SOURCES:
 - https://rubygems.org/
- SHELL PATH:
 - /Users/(useraccount)/.rbenv/versions/2.1.5/bin
 - /usr/local/Cellar/rbenv/0.4.0/libexec
 - /Users/(useraccount)/.rbenv/shims
 - /usr/local/bin
 - /usr/bin
 - /bin
 - /usr/sbin
 - /sbin
 - /Users/(useraccount)/.rvm/bin

当我在 text mate 中将 gem env 作为 shell 脚本运行时,我得到:

RubyGems Environment:
  - RUBYGEMS VERSION: 2.4.5
  - RUBY VERSION: 2.0.0 (2014-05-08 patchlevel 481) [universal.x86_64-darwin14]
  - INSTALLATION DIRECTORY: /Library/Ruby/Gems/2.0.0
  - RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
  - EXECUTABLE DIRECTORY: /usr/bin
  - SPEC CACHE DIRECTORY: /Users/(useraccount)/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: /Library/Ruby/Site
  - RUBYGEMS PLATFORMS:
    - ruby
    - universal-darwin-14
  - GEM PATHS:
     - /Library/Ruby/Gems/2.0.0
     - /Users/(useraccount)/.gem/ruby/2.0.0
     - /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/gems/2.0.0
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - https://rubygems.org/
  - SHELL PATH:
     - /usr/bin
     - /bin
     - /usr/sbin
     - /sbin
     - /Users/(useraccount)/Library/Application Support/TextMate/Managed/Bundles/Bundle Support.tmbundle/Support/shared/bin

最佳答案

看起来 Textmate 使用了错误的 ruby​​。尝试以下 SO 帖子中的说明:Configure Textmate 2 for rbenv

关于mysql - Require 'mysql' 在 Textmate ruby​​ 脚本中失败,但在终端的 irb 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27614803/

相关文章:

ruby - 使用 Watir Webdriver 下载文件

ruby - 回形针刷新缩略图不适用于 S3

emacs - 在 emacs 和 Textmate 中工作

textmate - 您可以在 VSCode 片段中访问类名吗?

mysql - 如何在mysql中按产品ID和最新创建日期进行分组?

需要Javascript时区解决方案(考虑到UTC时间戳的实际差异)

ruby - 如何有效地轮询大量服务器?

ide - 作为代码编辑器,TextMate 真的物有所值吗?

mysql - 从旧表填充新表时重复主键

mysql - 为什么 MySQL 更喜欢使用文件排序进行索引范围扫描而不是索引查找