我已經安裝了許多寶石,但是當我去「需要」他們,我得到「沒有這樣的文件加載錯誤」:紅寶石寶石安裝,但無法要求它
~/Documents/Projects/Ruby Scripts/Domain » ./whois.rb
/System//Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in 'require': cannot load such file -- whois (LoadError)
from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from ./whois.rb:3:in `<main>'
我有安裝了寶石,它似乎已經安裝成功地:
~ » gem install whois
Fetching: whois-4.0.1.gem (100%)
Successfully installed whois-4.0.1
Parsing documentation for whois-4.0.1
Installing ri documentation for whois-4.0.1
Done installing documentation for whois after 0 seconds
1 gem installed
運行gem list
顯示安裝作爲本地寶石寶石:
*** LOCAL GEMS ***
activesupport (5.1.0)
addressable (2.5.1)
...
whois (4.0.1)
運行gem env
顯示了我使用rbenv,我會想到創業板路徑:
RubyGems Environment:
- RUBYGEMS VERSION: 2.6.11
- RUBY VERSION: 2.4.1 (2017-03-22 patchlevel 111) [x86_64-darwin16]
- INSTALLATION DIRECTORY: /Users/perfektion/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0
- USER INSTALLATION DIRECTORY: /Users/perfektion/.gem/ruby/2.4.0
- RUBY EXECUTABLE: /Users/perfektion/.rbenv/versions/2.4.1/bin/ruby
- EXECUTABLE DIRECTORY: /Users/perfektion/.rbenv/versions/2.4.1/bin
- SPEC CACHE DIRECTORY: /Users/perfektion/.gem/specs
- SYSTEM CONFIGURATION DIRECTORY: /Users/perfektion/.rbenv/versions/2.4.1/etc
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-darwin-16
- GEM PATHS:
- /Users/perfektion/.rbenv/versions/2.4.1/lib/ruby/gems/2.4.0
- /Users/perfektion/.gem/ruby/2.4.0
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- https://rubygems.org/
- SHELL PATH:
- /Users/perfektion/.rbenv/versions/2.4.1/bin
- /usr/local/Cellar/rbenv/1.1.0/libexec
- /Users/perfektion/.rbenv/shims
- /Users/perfektion/.rbenv/bin
- /Users/perfektion/.rbenv/shims
- /Users/perfektion/.rbenv/bin
- /usr/local/bin
- /usr/bin
- /bin
- /usr/sbin
- /sbin
檢查寶石路的寶石whois
,我可以看到它在那裏。
但奇怪的是IRB似乎能夠找到寶石:
~/ » irb
irb(main):001:0> require 'whois'
=> true
irb(main):002:0> whois = Whois::Client.new
=> #<Whois::Client:0x007fbc121074c8 @timeout=10, @settings={}>
我一直在解決此約24小時,我覺得我失去了我的腦海裏。這個問題在過去的24-48小時內才變得明顯。在此之前,我玩的腳本工作正常。
潛在有用的信息
- 運行OSX塞拉利昂10.12.4
- 我使用rbenv和紅寶石打造
- 使用Ruby 2.4.1全局設置
- PATH =
/Users/perfektion/.rbenv/shims:/Users/perfektion/.rbenv/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
- 回覆 - 安裝了rbenv,ruby-build,ruby並刪除所有寶石並重新安裝。
我覺得這是愚蠢的,但任何人都可以看到我在做什麼錯誤,這將導致紅寶石無法找到這些寶石?
謝謝!
更新
不知道爲什麼我沒有早點挑這個,但是在我的腳本的頂部,我有:
#!/usr/bin/ruby
我不知道爲什麼在此之前工作,它不是」現在。
感謝大家的幫助:)
我曾經嘗試這樣做,並沒有什麼區別。據我所知,運行'rbenv全球2.4.1',這將設置紅寶石版本2.4.1幾乎在任何地方使用? – Perfektion