2

ここで人々が話している他のすべての解決策を試しましたが、どれも役に立ちませんでした。

スプレッドシート gem を必要とする Ruby スクリプトを作成しました。を使用してスクリプトを正常に実行すると、要求は正常に機能しますがruby myscript.rbchmod +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'

誰かに何かアイデアがあれば、本当に感謝します。

4

1 に答える 1

3

コメントへの回答から、通常実行しているルビー、つまり宝石がインストールされているルビーは/Users/fcangialosi/.rbenv/shims/ruby. スクリプトを実行可能にすると、スクリプト内のヒントを使用して、スクリプトの実行に使用するプログラムが認識されます。あなたの場合、次のものがあります。

#!/usr/bin/ruby

にインストールした ruby​​ のバージョンを使用することになり/usr/bin/rubyます。の代わりに rbenv ルビを使用するには/usr/bin/ruby、シバン行を次のように変更します。

#!/usr/bin/env ruby
于 2013-10-25T07:40:39.377 に答える