ruby-on-rails - 升级到 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
感谢您的帮助。
解决方案
我跑了gem install rails
,它解决了这个问题。这是因为我在升级 Ruby 之前升级了 Rails,因此我gem file
没有rails gem
. 所以我认为在升级 Rails 之前总是升级 Ruby 是明智的。