冻结 Ruby on Rails 时无法写入锁定文件

Posted

技术标签:

【中文标题】冻结 Ruby on Rails 时无法写入锁定文件【英文标题】:Can't write to lockfile while frozen Ruby on Rails 【发布时间】:2021-11-25 05:12:04 【问题描述】:

您好,我正在尝试运行以下命令来准备我的 Rails 应用程序以进行生产:

bundle lock --add-platform ruby

bundle lock --add-platform x86_64-linux

然后我得到这个错误:

Cannot write a changed lockfile while frozen.

这里发生了什么?锁文件有什么用?被冻结是什么意思?

【问题讨论】:

【参考方案1】:

锁文件有什么用?

.. 存储库中存在Gemfile.lock 可确保每次重新检出存储库时都使用完全相同的依赖项集。 https://bundler.io/v2.2/guides/faq.html

被冻结是什么意思?

--冻结 请勿在此安装后更新 Gemfile.lock。如果将对 Gemfile.lock 进行更改,则退出非零值。 https://bundler.io/v2.2/man/bundle-install.1.html

这可能还不适用于您,但在 Bundler 3 中,--deployment 将暗示 --frozen

【讨论】:

那么我要怎么做才能写入锁文件呢?【参考方案2】:

运行以下命令允许我写入我的锁定文件

bundle config unset deployment   

【讨论】:

以上是关于冻结 Ruby on Rails 时无法写入锁定文件的主要内容,如果未能解决你的问题,请参考以下文章

使用 Ruby on Rails 在文本区域中保留换行符

Ruby On Rails,制作可排序列表

将字符串写入文件以供下载 Ruby on Rails

启动 Ruby on Rails 应用程序时无法通过 AWS Elastic Beanstalk“恭喜”屏幕

Ruby on Rails:“无法加载此类文件”事件机器

Ruby on Rails:无法加载rack / handler /