![](/img/trans.png)
[英]problem deploying ruby on rails app to Heroku: ruby version issue
[英]Problem deploying Ruby on Rails 7 app on Heroku
我正在尝试将我的项目部署到 Heroku 并且出现此错误:
Running: rake assets:precompile rake aborted: SyntaxError. /tmp/build_c99702b3/config/environments/production:rb:22, syntax error, unexpected constant. expecting 'do' or '{' or '('..:oku config:set RAILS_MASTER_KEY=ENV['RAILS_MASTER_KEY']
尽管我看到了此处描述的非常相似的错误和问题,但对我没有任何帮助。 我有credentials.yml.enc
文件和master.key
文件。 在 localhost:3000 上一切正常,但是当我尝试部署它时,我收到了这个错误。 我在 Windows 10 机器上运行 VMWare VM Ubuntu 22.04 LTS(尽管我也在 20.04 LTS 上运行过它)。 这是我的 Gemfile:
source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
ruby '3.1.1'
gem 'rails', '~> 7.0.3'
gem 'sprockets-rails'
gem 'pg', '~> 1.1'
gem 'puma', '~> 5.0'
gem 'importmap-rails'
gem 'turbo-rails'
gem 'stimulus-rails'
gem 'tailwindcss-rails'
gem 'jbuilder'
gem 'tzinfo-data', platforms: %i[mingw mswin x64_mingw jruby]
gem 'bootsnap', require: false
gem 'devise', '~> 4.7'
gem 'finnhub_ruby', '~> 1.1.16'
gem 'dotenv-rails', groups: %i[development test]
group :development, :test do
gem 'debug', platforms: %i[mri mingw x64_mingw]
%w[rspec-core rspec-expectations rspec-mocks rspec-rails rspec-support].each do |lib|
gem lib, git: "https://github.com/rspec/#{lib}.git", branch: 'main'
end
end
group :development do
gem 'web-console'
end
我也尝试使用.env
文件并在那里定义了我的主密钥,如下所示:
ENV['RAILS_MASTER_KEY'] = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXxxx'
但这也无济于事。
请您让我知道问题出在哪里,如果有人可以提供有关如何执行此操作的详细说明,我的意思是特别是必须将主密钥放置在何处以及如何放置,以便它可以部署到 Heroku? 提前感谢您的回答。
heroku config:set
是 CLI 命令,你不需要把这一行放到你的production.rb
如果您需要将此环境变量设置为 Heroku 只需在heroku create
命令之后和部署之前在终端中执行
heroku config:set RAILS_MASTER_KEY=`cat config/master.key`
或者
heroku config:set RAILS_MASTER_KEY="$(< config/master.key)"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.