Post

(bundler) The process '/opt/hostedtoolcache/Ruby/3.3.1/x64/bin/bundle' failed with exit code 16

발생 상황

  • github actions 를 사용하여 deploy.yaml 설정 후 배포를 진행하였다.
  • 빌드에 실패하였고, process failed 메시지를 받았다.
1
2
3
4
5
6
7
8
9
10
11
> bundle install
/opt/hostedtoolcache/Ruby/3.3.1/x64/bin/bundle config --local path /home/runner/work/gigyesik.github.io/gigyesik.github.io/vendor/bundle
/opt/hostedtoolcache/Ruby/3.3.1/x64/bin/bundle config --local deployment true
Cache key: setup-ruby-bundler-cache-v6-ubuntu-22.04-x64-ruby-3.3.1-wd-/home/runner/work/gigyesik.github.io/gigyesik.github.io-with--without--only--Gemfile.
...
/opt/hostedtoolcache/Ruby/3.3.1/x64/bin/bundle install --jobs 4
Your bundle only supports platforms ["x64-mingw-ucrt", "x86_64-darwin-23"] but
your local platform is x86_64-linux. Add the current platform to the lockfile
with
`bundle lock --add-platform x86_64-linux` and try again.
Error: The process '/opt/hostedtoolcache/Ruby/3.3.1/x64/bin/bundle' failed with exit code 16
  • 빌드 과정 중 패키지를 관리하는 bundle 에 이상이 생겼다고 판단하였다.

해결 시도 - bundle 캐시 제거

에러 메시지를 자세히 읽지 않고 bundle의 버전이나 캐시 문제라고 생각했다.

재빌드를 시도해보고 (실패)

deploy.yml 파일에서 bundler 관련 설정을 찾아 수정해보았다.

1
2
3
4
5
6
7
8
9
10
11
12
13
jobs:
  build:
    ...
      - name: Setup Ruby
        uses: ruby/setup-ruby@v1
        with:
          ruby-version: 3.3
          bundler-cache: false # true에서 수정
          
>>>
bundler: command not found: jekyll
Install missing gem executables with `bundle install`
Error: Process completed with exit code 127.

아예 bundler 설치를 하지 않아 커맨드를 찾을 수 없다는 메시지를 받았다.

해결 - Platforms 에 운영체제 추가

에러가 나면 우선 메시지를 잘 보자

메시지를 다시 읽어보면, 해결방법을 제시해주고 있다.

1
2
3
4
5
6
7
Your bundle only supports platforms ["x64-mingw-ucrt", "x86_64-darwin-23"] but
your local platform is x86_64-linux. Add the current platform to the lockfile
with `bundle lock --add-platform x86_64-linux` and try again.

>>>
너의 bundle에 명시된 운영체제와 다른 환경에서 빌드를 시도하고 있다.
원하는 platform 을 lockfile에 추가한 후 다시 시도하라.

Gemfile.lock 에 빌드 환경인 리눅스를 추가하고, 빌드와 배포 성공.

1
2
3
4
PLATFORMS
  x64-mingw-ucrt
  x86_64-darwin-23
  x86_64-linux
This post is licensed under CC BY 4.0 by the author.