Post

깃 블로그 배포 오류2 - ruby 버전 맞추기

타이틀을 변경하니 로컬에서는 오류가 발생하지 않아서… github에 업로드하였으나 다시 오류가 발생하였다.

1
2
3
4
5
6
7
8
                 ------------------------------------------------
      Jekyll 4.3.2   Please append `--trace` to the `build` command
                     for any additional information or backtrace.
                    ------------------------------------------------
/opt/hostedtoolcache/Ruby/3.3.0/x64/lib/ruby/3.3.0/logger.rb:384:in `level': undefined method `[]' for nil (NoMethodError)

    @level_override[Fiber.current] || @level
                   ^^^^^^^^^^^^^^^

왜 이렇게 계속 오류가 발생하는지, 이전에 배포 성공했던 코드를 뜯어보던 와중 로컬에서 사용중인 ruby버전과 github actions에서 다운받는 ruby 버전이 다른 것을 확인하였다.

1
2
3
4
5
6
7
# build 성공내역
# Setup Ruby

Print Ruby version
  /opt/hostedtoolcache/Ruby/3.2.2/x64/bin/ruby --version
  ruby 3.2.2 (2023-03-30 revision e51014f9c0) [x86_64-linux]
  Took   0.03 seconds
1
2
3
4
5
6
7
# build 실패내역
# Setup Ruby

Print Ruby version
  /opt/hostedtoolcache/Ruby/3.3.0/x64/bin/ruby --version
  ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [x86_64-linux]
  Took   0.02 seconds
1
2
3
4
# 로컬 ruby 버전

C:\Users\user\Desktop\JS-project\blog>ruby --version
ruby 3.2.2 (2023-03-30 revision e51014f9c0)

로컬 버전과 맞추기 위해 .github/workflows/pages-deploy.yml파일에 버전을 작성하였다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 기존 코드
 - name: Setup Ruby
        uses: ruby/setup-ruby@v1
        with:
          ruby-version: 3
          bundler-cache: true


# 수정 코드
 - name: Setup Ruby
        uses: ruby/setup-ruby@v1
        with:
          ruby-version: 3.2.2
          bundler-cache: true

버전을 작성한 다음 github에 업로드하였더니 build가 성공적으로 되었다.

This post is licensed under CC BY 4.0 by the author.