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
おわり
コメント