Jekyll bundle 오류 관련 삽질에 관한 짧은 이야기
삽질 이야기
다른 장비를 들임에 따라 데이터를 옮겨서 깃 블로그 로컬 테스트 환경을 세팅하던 중 bundle을 실행해보니
[!] There was an error parsing `Gemfile`:
[!] There was an error while loading `jekyll-theme-yat.gemspec`: No such file or directory - git ls-files -z. Bundler cannot continue.
# -------------------------------------------
# spec.add_runtime_dependency "jekyll-spaceship", "~> 0.2"
> end
# # frozen_string_literal: true
# -------------------------------------------
. Bundler cannot continue.
# -------------------------------------------
# gemspec
>
# # frozen_string_literal: true
# -------------------------------------------
앞서 사용했던 두 개의 장비에서 똑같은 방법으로 했을 땐 본 적이 없던 요런 오류가 발생하더군요… 그래서 루비 재설치도 해보고 gem로 사용하는 테마도 깔아보고 jekyll-spaceship도 설치해보고 루비 업데이트도 해보고 기존 방법에서 조금 변형해서 할 수 있는 방법은 다는 아니어도 꽤 해봤던 것 같습니다. 그런데도 문제는 똑같이 발생했습니다. 그리고 제가 검색한 것들은 뭔가 시원한 답들은 아닌 거 같아 보여서 코파일럿에게 물어보니
Gemfile을 파싱하는 도중에 오류가 발생했군요. 이 문제는 일반적으로 Gemfile이나 .gemspec 파일에 문제가 있을 때 발생합니다.
jekyll-theme-yat.gemspec 파일이 존재하지 않는다는 메시지가 보이는데, 이 파일이 프로젝트 디렉토리에 있는지 확인해보세요. 만약 파일이 없다면, 이 파일을 생성하거나 참조를 제거해야 할 수도 있습니다.
또한, Gemfile에서 gemspec 명령을 사용하면 현재 디렉토리의 .gemspec 파일을 참조하게 됩니다. 이 명령은 보통 gem을 개발할 때 사용되며, Jekyll 사이트에서는 테마 gem을 직접 참조하는 것이 일반적입니다.
따라서, Gemfile에서 gemspec 명령을 제거하고, 대신 사용하려는 테마의 gem을 직접 지정해보세요. 예를 들어, jekyll-theme-yat 테마를 사용하려면 Gemfile에 다음과 같이 추가할 수 있습니다.
요런 답변을 받았는데, 위에서 세 문단은 gem에 관한 걸 조금 더 알게 됐지만 원래 관심있던 것도 아니었고 딱히 문제가 될만한 부분도 없었습니다. 결국 해볼 수 있는 건 마지막 뿐이라 판단돼서 Gemfile을 다음과 같이 변경했습니다.
gem "jekyll-theme-yat" # 기존엔 그냥 gemspec만 있었음
다행히도 이렇게 하니 문제가 해결됐습니다. 그런데, 기존에 문제 없이 작동하던 다른 장비에서는 문제가 생기지 않을까 의심이 생겨서 확인해보니 역시나 그랬습니다. 다만, Gemfile 내용을 동일하게 수정하는 걸로 간단하게 해결돼서 더 이상의 삽질은 하지 않았네요.
이게 좋은 해결 방법은 아닐 수도 있을 것 같다고 느껴지긴하나 ruby나 웹을 주력으로 밀고 싶은 마음은 아직은 없기에 그냥 여기서 마무리 했습니다ㅋㅋㅋㅋ
세 줄 요약 및 느낀점?
세 줄 요약
- 다른 장비에 리포를 동기화하다가 bundle에서 오류가 발생
- 본인이 아는 것과 검색을 통해서 해결하려 했으나 실패
- 코파일럿이 검색해서 찾아온 정보를 통해 시도해보니 성공
느낀점
코파일럿이 저보다 검색을 훨씬 잘하네요. 분발해야겠습니다ㅋㅋㅋ 안 좋은 습관도 의식하면서 좀 고쳐야 할 것 같네요.
해결한 방식이 세팅 시작하는 방법 중 다른 방법을 선택하면 되는 간단한 문제인데 참 경로의존적인 생각, 기존에 생각하던 가정 등등 고치기가 쉽지 않은 것 같네요…
기존 장비들이 다 윈도우즈10이었는데 윈도우11 장비에서 이러니까 윈11 문제인가? 생각도 해봤는데 아마 아니겠죠?ㅋㅋㅋ