4개월 만에 포트폴리오를 만지면 RSpec과 Heroku 배포에서 오류가 발생한 이야기
5216 단어 경 6Railsselenium-webdriver
소개
엔지니어로 일하기 시작하고 빨리 4개월이 지났습니다.
7월에 들어가고 업무로 데이터 분석 기반의 구축에 종사하게 되어 Fluentd, Embulk, ElasticSearch 등을 공부할 필요성이 나왔기 때문에, 그들을 공부하기 위한 실험장으로서 전직 활동시에 작성했다 포트폴리오 를 이용하려고 하고, 4개월 흔들림을 건드렸습니다만, webdriver와 Heroku에서 갓트리가 빠져 버렸기 때문에 누군가의 참고가 된다고 생각해, 오랜만에 기사를 쓰기로 했습니다.
전제
요점
RSpec의 오류
몇점인가 파일을 변경했으므로 테스트를 달리게 되면 피처 스펙으로 훌륭하게 전 이끼 하고 있어, 무슨 일일까라고 생각해 에러 내용을 확인한 결과, 아래와 같은 에러였습니다.
Selenium::WebDriver::Error::SessionNotCreatedError:
session not created: Chrome version must be between 70 and 73
Chrome의 버전이 70~73 사이에 들어 있지 않다는 이야기이므로, 사용하고 있는 Chrome의 버전을 조사했는데, 75.0.3770.100
이라는 것이었으므로, 이것이 원인이라고 알았습니다.
더 살펴보면 chromedriver-helper gem
은 폐지 예정이고 webdrivers gem
을 사용하면 좋다고 했으므로 일단 Gemfile.lock을 삭제하고 bundle install
을 실행한 후 다시 테스트를 하면 테스트가 통과하게 되었습니다. .
(덧붙여서, 이때는 이 Gemfile.lock을 재작성하는 작업이, 후술하는 Heroku 에러에 연결되는 것 등 알 수 없었습니다.)
Gemfile- gem 'chromedriver-helper'
+ gem 'webdrivers', '~> 3.0'
Selenium::WebDriver::Error::SessionNotCreatedError:
session not created: Chrome version must be between 70 and 73
- gem 'chromedriver-helper'
+ gem 'webdrivers', '~> 3.0'
Heroku 배포에서 오류
테스트가 다녔기 때문에 마지막으로 배포하고 끝이라고 생각했지만, 다시 한번 여기에서 오류가 발생했습니다.
오류 내용은 다음과 같습니다.
remote: Activating bundler (2.0.2) failed:
remote: Could not find 'bundler' (2.0.2) required by your /tmp/build_be01b72423bcb8427f9483fee7b4337e/Gemfile.lock.
remote: To update to the latest version installed on your system, run `bundle update --bundler`.
remote: To install the missing version, run `gem install bundler:2.0.2`
remote: Checked in 'GEM_PATH=vendor/bundle/ruby/2.5.0', execute `gem env` for more information
remote:
remote: To install the version of bundler this project requires, run `gem install bundler -v '2.0.2'`
remote:
remote: !
remote: ! Failed to install gems via Bundler.
remote: !
remote: ! Push rejected, failed to compile Ruby app.
remote:
remote: ! Push failed
remote: Verifying deploy...
remote:
remote: ! Push rejected to tranquil-ravine-25204.
무엇인가
Activating bundler (2.0.2) failed
라고 하는 것으로, gem install bundler
가 잘 안 된다고 하는 것입니다.이전에 움직였을 때의 bundler의 버전은 무엇이었을까 생각하고, 자신의 포트폴리오의 과거의 브랜치중에 있는 Gemfile.lock의 마지막 행을 보면,
BUNDLED WITH
2.0.1
이제 Gemfile.lock을 다시 삭제하고
bundle _2.0.1_ install
을 실행하여 heroku에 배포를 시도하면 해결되었습니다.덧붙여서, 조사해 보았더니 아무래도 bundler2.0.2는 드디어 지난달 릴리스된 것 같고, 그 근처가 영향을 주고 있는 것 같습니다.
(덤) 기타
Faker gem도 갱신되고 있었던 것 같고, seed 데이터를 넣으려고 하면 「
Faker::OnePiece
는 모르겠어」라고 분노했습니다.공식 문서를 보면
Faker::JapaneseMedia::OnePiece
으로 할 필요가 있다는 것을 알았으므로 수정하면 해결했습니다.요약
당연한 일입니다만, 겨우 4개월이라도 소프트웨어는 진화하고 있는 것이다라고 새롭게 느낀 체험이었습니다💡
이 기사에서 같은 실수로 시간을 빼앗기는 사람이 줄면 다행입니다.
Reference
이 문제에 관하여(4개월 만에 포트폴리오를 만지면 RSpec과 Heroku 배포에서 오류가 발생한 이야기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/fuku_tech/items/d9400c23e1f47892d33c
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(4개월 만에 포트폴리오를 만지면 RSpec과 Heroku 배포에서 오류가 발생한 이야기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/fuku_tech/items/d9400c23e1f47892d33c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)