您好,我正在尝试运行以下命令来准备我的 Rails 应用程序以进行生产:
bundle lock --add-platform ruby
bundle lock --add-platform x86_64-linux
然后我收到此错误:
Cannot write a changed lockfile while frozen.
这是怎么回事?锁文件有什么用?被冻结是什么意思?
运行以下命令允许我写入我的锁定文件
bundle config unset deployment
那是因为您正在生产中,并且您不希望在部署中对 Gemfile.lock 文件进行任何更改,因此您冻结它,以运行解冻它:
bundle config unset frozen
开发中执行此操作的另一种方法:
bundle lock --add-platform ruby
bundle lock --add-platform x86_64-linux
然后提交、推送并拉入生产。无需解冻您的捆绑包,也无需使您的开发和生产存储库不同步。