2017-03-09 35 views
0

我沒有與版本相關的內容進行不同項目的Ruby和現在當我要開始一個特定的項目,我有以下寶石錯誤:的Rails的Ruby的gem版本問題

/home/glory/.rbenv/versions/2.2.4/lib/ruby/2.2.0/rubygems/dependency.rb:315:in `to_specs': Could not find 'railties' (>= 0) among 14 total gem(s) (Gem::LoadError) 
Checked in 'GEM_PATH=/home/glory/.rvm/gems/ruby-2.2.4:/home/glory/.rvm/gems/[email protected]', execute `gem env` for more information 
    from /home/glory/.rbenv/versions/2.2.4/lib/ruby/2.2.0/rubygems/dependency.rb:324:in `to_spec' 
    from /home/glory/.rbenv/versions/2.2.4/lib/ruby/2.2.0/rubygems/core_ext/kernel_gem.rb:64:in `gem' 
    from /home/glory/.rbenv/versions/2.2.4/bin/rails:22:in `<main>' 

當我鍵入gem env我得到:

RubyGems Environment: 
    - RUBYGEMS VERSION: 2.6.10 
    - RUBY VERSION: 2.2.4 (2015-12-16 patchlevel 230) [x86_64-linux] 
    - INSTALLATION DIRECTORY: /home/glory/.rvm/gems/ruby-2.2.4 
    - USER INSTALLATION DIRECTORY: /home/glory/.gem/ruby/2.2.0 
    - RUBY EXECUTABLE: /home/glory/.rvm/rubies/ruby-2.2.4/bin/ruby 
    - EXECUTABLE DIRECTORY: /home/glory/.rvm/gems/ruby-2.2.4/bin 
    - SPEC CACHE DIRECTORY: /home/glory/.gem/specs 
    - SYSTEM CONFIGURATION DIRECTORY: /home/glory/.rvm/rubies/ruby-2.2.4/etc 
    - RUBYGEMS PLATFORMS: 
    - ruby 
    - x86_64-linux 
    - GEM PATHS: 
    - /home/glory/.rvm/gems/ruby-2.2.4 
    - /home/glory/.rvm/gems/[email protected] 
    - GEM CONFIGURATION: 
    - :update_sources => true 
    - :verbose => true 
    - :backtrace => false 
    - :bulk_threshold => 1000 
    - REMOTE SOURCES: 
    - https://rubygems.org/ 
    - SHELL PATH: 
    - /home/glory/.rvm/gems/ruby-2.2.4/bin 
    - /home/glory/.rvm/gems/[email protected]/bin 
    - /home/glory/.rvm/rubies/ruby-2.2.4/bin 
    - /home/glory/.rvm/bin 
    - /usr/local/heroku/bin 
    - /home/glory/.rbenv/plugins/ruby-build/bin 
    - /home/glory/.rbenv/shims 
    - /home/glory/.rbenv/bin 
    - /usr/local/sbin 
    - /usr/local/bin 
    - /usr/sbin 
    - /usr/bin 
    - /sbin 
    - /bin 
    - /usr/games 
    - /usr/local/games 

我該如何解決?

回答

1

採取仔細看錯誤日誌的開頭:

/home/glory/.rbenv/versions/2.2.4/lib/ruby/2.2.0/rubygems/dependency.rb:315:in `to_specs': Could not find 'railties' (>= 0) among 14 total gem(s) (Gem::LoadError) 
Checked in 'GEM_PATH=/home/glory/.rvm/gems/ruby-2.2.4:/home/glory/.rvm/gems/[email protected]', execute `gem env` for more information 

和路徑信息:

- /home/glory/.rvm/gems/ruby-2.2.4/bin 
- /home/glory/.rvm/gems/[email protected]/bin 
- /home/glory/.rvm/rubies/ruby-2.2.4/bin 
- /home/glory/.rvm/bin 
- /usr/local/heroku/bin 
- /home/glory/.rbenv/plugins/ruby-build/bin 
- /home/glory/.rbenv/shims 
- /home/glory/.rbenv/bin 

您使用rbenv和RVM。

不要這樣做。

rbenv documentation特別說:

Compatibility note: rbenv is incompatible with RVM. Please make sure to fully uninstall RVM and remove any references to it from your shell initialization files before installing rbenv.

我推薦使用

rm -rf ~/.rbenv 
rvm implode 

然後刪除其初始行你的〜/ .bashrc中,在〜/ .bash_profile和〜/刪除兩者。配置文件。

然後選擇一個或另一個,rbenv或RVM,並只重新安裝一個。這將迫使你重新安裝你想要使用的紅寶石以及相關的寶石,但它也會徹底修復這個爛攤子。

+0

非常好...這是問題所在。謝謝!其中一個應該被刪除? – Lory

+0

是的,應該刪除一個。哪一個取決於你。 rbenv簡單輕便,您可以使用插件添加其他功能,因此RVM功能更全面,更大且更復雜。 –

+0

@錫文我出於你說的原因刪除了RVM,並且因爲我發現rbenv對初學者更好。 – Lory

-1

我認爲從你開始應用程序的地方會有ruby版本的問題。 切換到創建應用程序的其他ruby版本。 您可以使用下面的版本管理,切換到一個不同的版本

  1. RVM
  2. rbenv

使用方法:RVM使用{紅寶石版本}

+0

它是在正確的版本。 – Lory

+0

可能是它的展示將是全球版本的任何版本。嘗試切換並運行服務器 – Bharath