簡體   English   中英

Rails Ruby gem版本問題

[英]Rails Ruby gem versions issue

我為不同項目的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/ruby-2.2.4@global', 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/ruby-2.2.4@global
  - 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/ruby-2.2.4@global/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

我該如何解決?

請仔細查看錯誤日志的開頭:

/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/ruby-2.2.4@global', execute `gem env` for more information

並在PATH信息中:

 - /home/glory/.rvm/gems/ruby-2.2.4/bin
 - /home/glory/.rvm/gems/ruby-2.2.4@global/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文檔特別指出:

兼容性說明: rbenv與RVM 不兼容 在安裝rbenv之前,請確保完全卸載RVM並從您的Shell初始化文件中刪除對其的所有引用。

我建議使用

rm -rf ~/.rbenv
rvm implode

然后從〜/ .bashrc,〜/ .bash_profile和〜/ .profile文件中刪除它們的初始化行。

然后選擇一個或另一個,rbenv或RVM,然后僅重新安裝一個。 這將迫使您重新安裝要與關聯的寶石一起使用的任何紅寶石,但也可以徹底清除混亂。

我認為從您啟動應用程序的地方,Ruby版本會出現問題。 切換到創建應用程序的其他紅寶石版本。 您可以使用以下版本管理器切換到其他版本

  1. RVM
  2. rbenv

用法:rvm使用{ruby-version}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM