首页 > 解决方案 > 升级到 Rails 6.1.4 后无法创建新的 Rails 应用程序

问题描述

我想开始一个新的 Rails 项目并决定升级我的 Rails 和 Ruby 版本。我首先将 Rails 升级到 6.1.4,然后将 Ruby 升级到 3.0.2 在创建新应用程序之前,我决定再次检查 Rails 运行的版本,我遇到了这个错误:

$ rails -v
Traceback (most recent call last):
    2: from /Users/el/.rbenv/versions/2.6.5/bin/rails:23:in `<main>'
    1: from /Users/el/.rbenv/versions/2.6.5/lib/ruby/2.6.0/rubygems.rb:302:in `activate_bin_path'
/Users/el/.rbenv/versions/2.6.5/lib/ruby/2.6.0/rubygems.rb:283:in `find_spec_for_exe': can't find gem railties (>= 0.a) with executable rails (Gem::GemNotFoundException)

我尝试了 create new rails app 命令并遇到与以下相同的错误;

$ rails new tracking-app-api --api --database=postgresql
Traceback (most recent call last):
    2: from /Users/el/.rbenv/versions/2.6.5/bin/rails:23:in `<main>'
    1: from /Users/el/.rbenv/versions/2.6.5/lib/ruby/2.6.0/rubygems.rb:302:in `activate_bin_path'
/Users/el/.rbenv/versions/2.6.5/lib/ruby/2.6.0/rubygems.rb:283:in `find_spec_for_exe': can't find gem railties (>= 0.a) with executable rails (Gem::GemNotFoundException)

我运行了命令$ gem update --system ,目前有:

gem env
RubyGems Environment:
  - RUBYGEMS VERSION: 3.2.3
  - RUBY VERSION: 3.0.2 (2021-07-07 patchlevel 107) [x86_64-darwin18]
  - INSTALLATION DIRECTORY: /Users/el/.rvm/gems/ruby-3.0.2
  - USER INSTALLATION DIRECTORY: /Users/el/.gem/ruby/3.0.0
  - RUBY EXECUTABLE: /Users/el/.rvm/rubies/ruby-3.0.2/bin/ruby
  - GIT EXECUTABLE: /usr/local/bin/git
  - EXECUTABLE DIRECTORY: /Users/el/.rvm/gems/ruby-3.0.2/bin
  - SPEC CACHE DIRECTORY: /Users/el/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: /Users/el/.rvm/rubies/ruby-3.0.2/etc
  - RUBYGEMS PLATFORMS:
     - ruby
     - x86_64-darwin-18
  - GEM PATHS:
     - /Users/el/.rvm/gems/ruby-3.0.2
     - /Users/el/.rvm/rubies/ruby-3.0.2/lib/ruby/gems/3.0.0
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - https://rubygems.org/
  - SHELL PATH:
     - /Users/el/.rvm/gems/ruby-3.0.2/bin
     - /Users/el/.rvm/gems/ruby-3.0.2@global/bin
     - /Users/el/.rvm/rubies/ruby-3.0.2/bin
     - /Users/el/.rbenv/shims
     - /usr/local/bin
     - /usr/bin
     - /bin
     - /usr/sbin
     - /sbin
     - /Users/el/.rvm/bin

但我一直有同样的错误。我正在使用macOS Mojave版本10.14.5 感谢您的帮助。

标签: ruby-on-railsrubyrubygemsruby-on-rails-6

解决方案


我跑了gem install rails,它解决了这个问题。这是因为我在升级 Ruby 之前升级了 Rails,因此我gem file没有rails gem. 所以我认为在升级 Rails 之前总是升级 Ruby 是明智的。


推荐阅读