Shopify / Shopify/shipit-engine

Shipit breaks with Bundler v4, `--frozen` was option removed

Open
#1,446 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Ruby
Stars
1.5k
Forks
154
Avg merge
2h 26m
Merged PRs (30d)
3

Description

$ bundle install --frozen --jobs 4 --path /app/data/bundler --retry 2
pid: 3395254
[DEPRECATED] The `--frozen` flag is deprecated because it relies on being remembered across bundler invocations, which bundler will no longer do in future versions. Instead please use `bundle config set frozen true`, and stop using this flag
[DEPRECATED] The `--path` flag is deprecated because it relies on being remembered across bundler invocations, which bundler will no longer do in future versions. Instead please use `bundle config set path '/app/data/bundler'`, and stop using this flag
Bundler 2.7.2 is running, but your lockfile was generated with 4.0.2. Installing Bundler 4.0.2 and restarting using that version.
Fetching gem metadata from https://rubygems.org/.
Fetching bundler 4.0.2
Installing bundler 4.0.2
The `--frozen` flag has been removed because it relied on being remembered
across bundler invocations, which bundler no longer does. Instead please use
`bundle config set frozen true`, and stop using this flag
bundle install --frozen --jobs 4 --path /app/data/bundler --retry 2 terminated with exit status 15

https://blog.rubygems.org/2025/12/03/upgrade-to-rubygems-bundler-4.html

Looks like we have two options:

  1. Freeze via config by running bundle config set --local frozen true before running bundle install ...
  2. Freeze via an environment: BUNDLE_FROZEN=true

Likewise for replacing --path

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the code that assembles and runs the bundle install --frozen --jobs 4 --path /app/data/bundler --retry 2 command. Review how Bundler configuration is set or passed to the process, then verify that the generated command works with Bundler 4 and preserves frozen and path behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
ruby
Domain
devops
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.