我使用Rails 7.0.6和Ruby 3.2.2。我有一台本地机器和一台远程服务器。当我通过键入以下命令使用Capistrano进行部署时:
cap production deploy
字符串
我得到这个错误:
rake stdout: Nothing written
rake stderr: rake aborted!
ArgumentError: Missing `secret_key_base` for 'production' environment, set this string with `bin/rails credentials:edit`
型
我在遵循这个教程:Deploy Ruby on Rails
我尝试的解决方案:
- 我在服务器应用程序文件夹中添加了文件名.rbenv-vars,其中包含以下内容:
DATABASE_URL = postgresql://username:pass@127.0.0.1/myapp_production
SECRET_KEY_BASE = secret key here by typing in local machine "bundle exec rails secret"
型
但那没用
- 我还输入了终端:
nano bin/rails credentials:edit
型
然后打开一个包含以下内容的文件:
#!/usr/bin/env ruby
APP_PATH = File.expand_path("../config/application", __dir__)
require_relative "../config/boot"
require "rails/commands"
型
我加了这行:
secret_key_base = secret_key_here ******
型
但那也没用有解决办法吗
2条答案
按热度按时间mjqavswn1#
默认情况下gitignore中的主密钥
创建simlink和移动主密钥到共享文件夹,如果你使用capistrano
exdqitrt2#
首先生成密钥:
字符串
然后键入:
型
然后将密钥粘贴到那里并键入:
型
然后提交并推送到github,然后转到服务器端创建这个文件:
型
在应用程序根文件夹中,并添加以下信息:
型