我已经尝试了人们在这里谈到的所有其他解决方案,但没有一个已经帮助/应用。
我编写了一个需要电子表格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'
如果有人有任何想法,我会非常感激。
答案 0 :(得分:3)
从您对评论的回答中,您正常运行的红宝石 - 以及安装宝石的红宝石 - 是/Users/fcangialosi/.rbenv/shims/ruby
。当您使脚本可执行时,它使用脚本中的提示来了解用于执行脚本的程序。在您的情况下,您有:
#!/usr/bin/ruby
这样就可以使用/usr/bin/ruby
中安装的任何ruby版本。要使用您的rbenv ruby而不是/usr/bin/ruby
,请将shebang行更改为:
#!/usr/bin/env ruby