Node.js+Sequelize+MySQLでPlease install mysql2 package manuallyというエラー

Node.js+SequelizeでMySQLを使おうと思ったら、以下のようなエラーが出たんですが

Please install mysql2 package manually

 

最初、なぜこのエラーが出るのかわかりませんでした。

というのも、MySQLのパッケージが必要とするのなら「最初からSequelizeの依存関係のリストにMySQLを追加しといてくれたらいいじゃん!」と思ったからです。

 

で、調べてみるとそれには理由があって、それが以下らしいです。

sequelizeが独自の依存関係としてmysqlモジュールを持たない理由は、postgresやsqliteなどの他のデータベースで使用できるためです。

要するに、Sequelizeは

  • PostgreSQL
  • MySQL
  • SQLite
  • MariaDB

などのいろいろなデータベースを扱うことができるので、最初から全部のデータベースのパッケージを依存関係に指定しておくと、使わないデータベースのパッケージまでインストールすることになっちゃうので

「自分が使うデータベースのパッケージは自分でインストールしてね」ってことになってるんだと思います。たぶん。

 

というわけで、以下のコマンドでmysqlをインストールすると、エラーがでなくなりました。

npm install mysql2

 

おわり

Node.js
スポンサーリンク
この記事を書いた人
penpen

1991生まれ。WEBエンジニア。

技術スタック:TypeScript/Next.js/Express/Docker/AWS

フォローする
フォローする

コメント

タイトルとURLをコピーしました