创建新Rails项目时遇错误:uninitialized constant ActiveSupport::LoggerThreadSafeLevel::Logger
解决Rails指定版本创建项目时的NameError问题
问题原因
你遇到的错误是因为全局安装的Rails版本(7.2.2.1)和你尝试调用的7.0.4版本存在依赖冲突。直接用rails 7.0.4 new的写法是错误的——这个命令会把"7.0.4"当作参数传给全局的Rails 7.2.2.1,而非调用Rails 7.0.4本身,导致active_support 7.0.4加载时找不到正确的Logger常量。
解决方案
- 先确认已安装Rails 7.0.4版本(如果没装就执行):
gem install rails -v 7.0.4
- 使用正确的指定版本语法创建项目,避免全局版本干扰:
rails _7.0.4_ new sample_app --skip-bundle
或者用bundle exec隔离环境,确保调用的是7.0.4版本的Rails:
bundle exec rails _7.0.4_ new sample_app --skip-bundle
- 项目创建完成后,进入目录安装依赖:
cd sample_app bundle install
内容的提问来源于stack exchange,提问作者user3614162
相关产品推荐
相关产品推荐

