2013-10-25 27 views
2

我試過了人們在這裏討論過的所有其他解決方案,但沒有一個可以幫助/應用。即使安裝了gem,Ruby 2.0.0也無法加載這樣的文件

我寫了一個需要電子表格寶石的Ruby腳本。該工程需要,當我與ruby 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

試運行'chmod + R myscript.rb'。 – sawa

+0

試過,現在我得到這個錯誤... './mparse.rb:line 5:require:command not found ./mparse.rb:line 7:interpreter:command not found ./mparse.rb:第8行:interpreter.start:command not found' –

+0

運行'哪個ruby'返回什麼? – exbinary

回答

3

從您對評論的回答中,您正常運行的ruby(因此安裝了您的寶石)正在運行的是/Users/fcangialosi/.rbenv/shims/ruby。當您使腳本可執行時,它會使用腳本中的提示知道要使用哪個程序來執行腳本。你的情況,你有:

#!/usr/bin/ruby 

所以這是使用紅寶石哪個版本中已安裝/usr/bin/ruby。爲了使用,而不是你的/usr/bin/ruby紅寶石rbenv,改變家當行:

#!/usr/bin/env ruby 
+0

現在我知道'/ usr/bin/*'和'/ usr/bin/env *''__'之間的區別了)b – Kokizzu

相關問題