即使安装了gem,Ruby 2.0.0也无法加载此类文件

时间:2013-10-25 03:46:10

标签: ruby gem executable require ruby-2.0

我已经尝试了人们在这里谈到的所有其他解决方案,但没有一个已经帮助/应用。

我编写了一个需要电子表格gem的Ruby脚本。当我使用ruby myscript.rb正常执行脚本时,要求正常工作,但在运行chmod +x myscript.rb之后,然后尝试使用./myscript.rb运行程序时出现以下错误....

/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require': cannot load such file -- spreadsheet (LoadError)
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from /Users/fcangialosi/dev/mTC/parse.rb:2:in `<top (required)>'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from /Users/fcangialosi/dev/mTC/interpreter.rb:1:in `<top (required)>'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require'
from ./pmcnp.rb:7:in `<main>'

我的脚本的开头是这样的:

#!/usr/bin/ruby

require 'rubygems'
require 'spreadsheet'

如果有人有任何想法,我会非常感激。

1 个答案:

答案 0 :(得分:3)

从您对评论的回答中,您正常运行的红宝石 - 以及安装宝石的红宝石 - 是/Users/fcangialosi/.rbenv/shims/ruby。当您使脚本可执行时,它使用脚本中的提示来了解用于执行脚本的程序。在您的情况下,您有:

#!/usr/bin/ruby

这样就可以使用/usr/bin/ruby中安装的任何ruby版本。要使用您的rbenv ruby​​而不是/usr/bin/ruby,请将shebang行更改为:

#!/usr/bin/env ruby