質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Circle CI

Circle CIは、クラウド上に簡単にCI環境を構築できるWebサービスです。GitHubと連携させ、CIしたいリポジトリーを選択しビルド・テストを行います。チャット等を利用して結果を確認することが可能です。

Q&A

解決済

1回答

2777閲覧

【CircleCI】rails db:migrateしたときの「TZInfo::DataSourceNotFound: tzinfo-data is not present.」を解決したい

katahik

総合スコア79

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Circle CI

Circle CIは、クラウド上に簡単にCI環境を構築できるWebサービスです。GitHubと連携させ、CIしたいリポジトリーを選択しビルド・テストを行います。チャット等を利用して結果を確認することが可能です。

0グッド

0クリップ

投稿2022/02/15 14:40

編集2022/02/16 15:31

実現したいこと

閲覧いただきありがとうございます。

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で実行

同じエラー

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

bundle install後に下記を付け加えたら実行できました

- run: name: RUN apt install tzdata command: sudo apt install tzdata

投稿2022/02/16 06:31

katahik

総合スコア79

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問