CircleCI에서 yarn이 통과하지 못해 막혔으므로 PATH를 통해 해결

사건



갑자기 CircleCI에서 테스트가 이끼가되었습니다.

조사해 보면 webpacker가 훅하고 있다 assets:precompile 로 실패하고 있는 모습. .
#!/bin/bash -eo pipefail
bundle exec rake assets:precompile
/home/circleci/my_project/vendor/bundle/ruby/2.5.0/bin/rake: No such file or directory - yarn
Yarn not installed. Please download and install Yarn from https://yarnpkg.com/lang/en/docs/install/
Exited with code 1
  • assets : precompile을 후크하여 webpacker : compile을 실행합니다.
  • webpacker : compile 내에서 yarn이 실행됩니다
  • yarn 없어! 화난다

  • 지금까지 아무 말도하지 않는 좋은 아이였는데 왜 갑자기 ...

    원인



    CircleCI 커뮤니티에도 보고가 올랐습니다.
    Yarn missing from latest node 8 images? - Bug Reports - CircleCI Community Discussion

    yarn의 경로가 통과하지 못한 버그가 있었던 것 같습니다. (이미 merge 완료)
    Fixed symbolic links to yarn and yarnpkg by cecton · Pull Request #650 · nodejs/docker-node

    해결



    우선 yarn이 실행할 수 있도록 PATH를 추가해 주면 OK.
    PATH: "/opt/yarn/yarn-v1.5.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
    

    또는
    - run: PATH=$PATH:/opt/yarn/yarn-v1.5.1/bin
    

    이것은 CircleCI 캐시의 운이 좋지 않습니다
    (docker 이미지는 circleci/ruby:2.5.0-node-browsers를 사용했습니다)

    최근 Node.js 공식 Docker 이미지에서 yarn의 경로가 통과하지 못한 버그. 최근에는 고치지 만 CircleCI의 캐시 가챠로 충돌하면 떨어집니다.
    htp : // b. 하테나. 네. jp / 엔트리 / 360606178 / 코멘트 t / 꼭대기 s

    텐야 완야였습니다.

    이상.

    좋은 웹페이지 즐겨찾기