実現したいこと
閲覧いただきありがとうございます。
CircleCIを用いてCIを導入しております。
しかし、下記runの箇所でtzinfo-dataに関するエラーが出てしまい、テストまで行き着かない状況です。
要はtzinfo-dataがGemfile.lockに存在していないため、発生するエラーだと思います、tzinfo-dataをインストールするためのrunを記述しましたが、どうもうまくいきませんでした。完全に詰まってしまいました。
解決策などご教示いただければ幸いです。
config.yml
- run: name: Database setup command: | bundle exec rails db:create bundle exec rails db:migrate
エラー文
rake aborted! TZInfo::DataSourceNotFound: tzinfo-data is not present. Please add gem 'tzinfo-data' to your Gemfile and run bundle install
コード
config.yml
version: 2.1 orbs: ruby: circleci/ruby@1.1.2 jobs: build: docker: - image: cimg/ruby:2.6.5 working_directory: ~/myapp/web steps: - checkout: path: ~/myapp - restore_cache: name: bundle install restore keys: - v1-dependencies-{{ checksum "Gemfile.lock" }} - v1-dependencies- - run: name: default mysql client install command: | sudo apt update sudo apt-get install default-mysql-client sudo apt-get install libmysqlclient-dev - run: name: bundle Install command: bundle check --path=vendor/bundle || bundle install --jobs=4 --retry=3 --path vendor/bundle - save_cache: name: bundle install save paths: - ./vendor/bundle key: v1-dependencies-{{ checksum "Gemfile.lock" }} test: docker: - image: cimg/ruby:2.6.5 - image: circleci/mysql:5.7 environment: DB_DATABASE: app_test DB_PASSWORD: password DB_USER: root TZ: "Asia/Tokyo" environment: BUNDLE_JOBS: "3" BUNDLE_RETRY: "3" APP_DATABASE_HOST: "127.0.0.1" RAILS_ENV: test TZ: "Asia/Tokyo" working_directory: ~/myapp/web steps: - checkout: path: ~/myapp - restore_cache: name: bundle install restore key: v1-dependencies-{{ checksum "Gemfile.lock" }} - run: name: default mysql client install command: | sudo apt update sudo apt-get install default-mysql-client sudo apt-get install libmysqlclient-dev - run: name: bundle install command: bundle check --path=vendor/bundle || bundle install --path vendor/bundle --clean --jobs 4 --retry 3 - run: name: Database setup command: | bundle exec rails db:create bundle exec rails db:migrate - run: name: Echo Test command: echo "CircleCI Test" - run: name: test command: bundle exec rake test workflows: version: 2 build_and_test: jobs: - build - test: requires: - build
Gemfile
source 'https://rubygems.org' git_source(:github) { |repo| "https://github.com/#{repo}.git" } ruby '2.6.5' # Bundle edge Rails instead: gem 'rails', github: 'rails/rails' gem 'rails', '~> 6.0.3', '>= 6.0.3.7' # Use mysql as the database for Active Record gem 'mysql2', '>= 0.4.4' # Use Puma as the app server gem 'puma', '~> 4.1' # Use SCSS for stylesheets gem 'sass-rails', '>= 6' # Transpile app-like JavaScript. Read more: https://github.com/rails/webpacker gem 'webpacker', '~> 4.0' # Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks gem 'turbolinks', '~> 5' # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder gem 'jbuilder', '~> 2.7' # Use Redis adapter to run Action Cable in production # gem 'redis', '~> 4.0' # Use Active Model has_secure_password # gem 'bcrypt', '~> 3.1.7' # Use Active Storage variant # gem 'image_processing', '~> 1.2' # jQuery gem "jquery-rails" gem 'rails-i18n', '~> 6' # enum i18n gem "enum_help" gem "config" gem 'faraday' gem 'acts_as_paranoid', '~> 0.6.0' gem 'http-cookie' gem 'kaminari' gem 'devise' gem 'devise_token_auth' gem 'devise-security' gem 'devise-two-factor', '~> 3.1' # AWS gem 'aws-sdk' # Reduces boot times through caching; required in config/boot.rb gem 'bootsnap', '>= 1.4.2', require: false gem 'composite_primary_keys' gem 'clamav-client', require: 'clamav/client' gem 'wovnrb' group :development, :test do # Call 'byebug' anywhere in the code to stop execution and get a debugger console gem 'byebug', platforms: [:mri, :mingw, :x64_mingw] end group :development do # Access an interactive console on exception pages or by calling 'console' anywhere in the code. gem 'web-console', '>= 3.3.0' gem 'listen', '>= 3.0.5', '< 3.2' # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring gem 'spring' gem 'spring-watcher-listen', '~> 2.0.0' end group :test do # Adds support for Capybara system testing and selenium driver gem 'capybara', '>= 2.15' gem 'selenium-webdriver' # Easy installation and use of web drivers to run system tests with browsers gem 'webdrivers' end # Windows does not include zoneinfo files, so bundle the tzinfo-data gem gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
試したこと
試したこと(1)
Gemfileにて下記のとおりtzinfoを記述
Gemfile
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby] gem 'tzinfo', '1.2.9'
↓
bundle install
↓
Gemfile.lock
DEPENDENCIES ... tzinfo (= 1.2.9) tzinfo-data
↓
circleCIで実行
↓
同じエラー
試したこと(2)
runとしてtzinfoのgemをインストール
config.yml
- run: name: tzinfo install command: | gem install tzinfo -v "~> 1.2.9" gem install tzinfo-data
↓
circleCIで実行
↓
同じエラー
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。