我可以在没有 Ruby 的情况下生成 Rails SECRET_KEY_BASE 吗?

Posted

技术标签:

【中文标题】我可以在没有 Ruby 的情况下生成 Rails SECRET_KEY_BASE 吗?【英文标题】:Can I generate Rails SECRET_KEY_BASE without Ruby? 【发布时间】:2017-10-30 02:32:03 【问题描述】:

我想知道是否有一种方法可以在不安装 Ruby 的情况下生成 Rails SECRET_KEY_BASE 变量?我看到的所有关于 SO 的答案都指向在 Ruby 中使用 SecureRandom 库。

这很好,但我的情况有点鸡和蛋 - 我想用 SECRET_KEY_BASE 生成一个文件我已经用我的 Rails 应用程序构建了一个 Docker 映像。运行容器的基础虚拟机没有安装 Ruby。

它是 Ubuntu 16.04 服务器,我会尽可能少地安装额外的东西(最好只是 Docker!)。它安装了 Perl 和 OpenSSL。这些都可以用吗?

【问题讨论】:

SECRET_KEY_BASE 只是一个随机字符串,而 perl 不仅能够生成随机字符串。阅读如何使用 perl 做到这一点。也许你甚至可以跳过 perl 并使用/dev/random 注意,一些“使用 Ruby”的方法可以在***.com/questions/32234620/…找到 【参考方案1】:

好的,我发现 - 使用 OpenSSL:

openssl rand -hex 64

【讨论】:

以上是关于我可以在没有 Ruby 的情况下生成 Rails SECRET_KEY_BASE 吗?的主要内容,如果未能解决你的问题,请参考以下文章

Ruby on Rails 生成模型

如何在没有rails的ruby中实现Application Record

Ruby on Rails 有没有好的管理生成器?

Ruby/Rails:生成脚手架的代码在哪里

如何将Rails的静态页面打包成ruby gem?

Ruby on Rails URL 格式