概要
「Everyday Rails - RSpecによるRailsテスト入門」という書籍を読み始めたところです。
翻訳者のお一人の伊藤淳一さんによるこちらのブログ記事を読み、そこで紹介されていた、サンプルアプリのプルリクのブランチを作り、セットアップを始めました。
手順に従う中で、rails db:migrate
によるマイグレーションを行なったところ、次のようなエラーが出てしまいました。
== 20170519014052 AddAttachmentAttachmentToNotes: migrating =================== -- change_table(:notes) rails aborted! StandardError: An error has occurred, this and all later migrations canceled: wrong number of arguments (given 3, expected 2) /Users/me/Documents/everydayrails-rspec-2017/db/migrate/20170519014052_add_attachment_attachment_to_notes.rb:4:in `block in up' /Users/me/Documents/everydayrails-rspec-2017/db/migrate/20170519014052_add_attachment_attachment_to_notes.rb:3:in `up' Caused by: ArgumentError: wrong number of arguments (given 3, expected 2) /Users/me/Documents/everydayrails-rspec-2017/db/migrate/20170519014052_add_attachment_attachment_to_notes.rb:4:in `block in up' /Users/me/Documents/everydayrails-rspec-2017/db/migrate/20170519014052_add_attachment_attachment_to_notes.rb:3:in `up' Tasks: TOP => db:migrate (See full trace by running task with --trace)
詳細
環境
OS: macOS Mojave バージョン 10.14.6
Ruby のバージョン:3.0.0
bundler のバージョン:2.2.3
踏んだ手順
- クローンしてプルリクのブランチを作成
git clone https://github.com/JunichiIto/everydayrails-rspec-2017.git
cd everydayrails-rspec-2017
git fetch origin pull/3/head:new
git checkout new
2. bundle install
を実行
→ 以下のエラーメッセージが出る
Your bundle is locked to mimemagic (0.3.5), but that version could not be found in any of the sources listed in your Gemfile. If you haven't changed sources, that means the author of mimemagic (0.3.5) has removed it. You'll need to update your bundle to a version other than mimemagic (0.3.5) that hasn't been removed in order to install.
3 bundle update mimemagic
を実行
→ 以下のようなエラーメッセージが出る
rake aborted! Could not find MIME type database in the following locations: ["/usr/local/share/mime/packages/freedesktop.org.xml", "/opt/homebrew/share/mime/packages/freedesktop.org.xml", "/opt/local/share/mime/packages/freedesktop.org.xml", "/usr/share/mime/packages/freedesktop.org.xml"] Ensure you have either installed the shared-mime-info package for your distribution, or obtain a version of freedesktop.org.xml and set FREEDESKTOP_MIME_TYPES_PATH to the location of that file.
4 プロジェクトのルートに、freedesktop.org.xml
というファイルを作成(中身はこちらのリンクのもの)し、zshrc
にて、FREEDESKTOP_MIME_TYPES_PATH
にそのファイルのパスを設定
(追記:手元の macbook にて、shared-mime-info
を brew でインストールして今回のケースを再現しましたが、それでも同じエラーが出ましたので、この部分は問題の原因とは恐らく関係ないように思います)
5 bundle update mimemagic
を実行し、成功する
6 冒頭のエラーが発生
なお、エラーが出ているdb/migrate/20170519014052_add_attachment_attachment_to_notes.rb
というファイルのリンクはこちらで、中身は以下です。
rb
1class AddAttachmentAttachmentToNotes < ActiveRecord::Migration[5.1] 2 def self.up 3 change_table :notes do |t| 4 t.attachment :attachment 5 end 6 end 7 8 def self.down 9 remove_attachment :notes, :attachment 10 end 11end
もし原因がお分かりでしたら、ご回答頂けますと幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/09/23 03:56
2021/09/23 09:55
2021/09/23 22:06
2021/09/23 22:55