2017-03-09 111 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