CI 환경에서만 (?) 발생하는 yarn 오류 대책

배경



한 리포지토리에 Scrutinizer를 도입하면, 최초의 inspect로부터 속공 이끼 했습니다.

Build가 통과하지 않는다. 점수를 볼 수 없다.

참았다.

그래서,,, (?)

오류 원인을 조사해 보았습니다.

오류 부분


$ yarn install --force

Scrutinizer 화면


오류 내용



Request failed,, 404 오류,, 흠흠.
error An unexpected error occurred: "https://registry.yarnpkg.com/sass/-/sass-1.22.8.tgz: Request failed \"404 Not Found\"".
info If you think this is a bug, please open a bug report with the information provided in "/home/scrutinizer/build/yarn-error.log".

원인



이 기사 끝에 붙여진 yarn 저장소의 issue[1][2]에 비슷한 오류가 논의되었습니다.

읽어 보면 yarn.lockが原因 입니다.

구체적으로는
yarn install 런타임에 참조되는 yarn.lock 파일에 오류 문장의 “htps : // 레기 스트리. 또는 rn pkg. 이 m/자 s/… “URL이 있습니다.
여기에서 404 오류가 발생했습니다.

해결책


yarn.lock를 삭제하여 해결할 수 있습니다.

자신도 같은 상황이 되었습니다만, 참고 기사내에서도 언급되고 있는 바와 같이, 왠지 CI 환경하에서만 발생합니다.

이번은 Scrutinizer 그러므로 Settings > Configuration 내에 다음을 추가해 드리겠습니다.
build:
    ...
    dependencies:
        before:
            - rm yarn.lock
    ...

다시 inspect...



\ 🎉 /



그 1



Scrutinizer의 Configuration에는 다양한 설정이 가능합니다.
h tps : // sc 즉시 r-. 코 m / 드 cs / 곤후 쿠라 치온 / 부이 ld_ 레후 렌세
필요에 따라 다루고 싶네요.

그 2



위에서 제시한 해결책 이외에서 시도한 것을 아래에 적습니다.
  • 에러문 위에 warning으로 package-lock.jsonpackage-lock.json을 지우고 다시 inspect했지만,
    warning이 사라진 것만으로 같은 에러는 발생했기 때문에, 이번의 문제와는 관계가 없는 것 같습니다.
  • 다른 기사에 우선 yarn upgrade --latest 를 하면 좋다, 같은 것이 쓰여 있었으므로,
    해 보았습니다만, 이쪽도 이번의 에러에는 관계하지 않는 것 같았습니다.

  • 참고 기사


  • [1] An unexpected error occurred: “https://registry.yarnpkg.com/: Not found” #5865
  • [2] An unexpected error occurred: Request failed \”404 Not Found\””. #2738
  • 좋은 웹페이지 즐겨찾기