1. ホーム
  2. node.js

[解決済み] ERROR mysql2 パッケージを手動でインストールしてください

2022-02-19 22:03:45

質問

シーケンサを使用する場合 db:マイグレート コマンドを実行すると、次のようなエラーが発生します。同じような問題に関する過去のコメントを見てみると、依存関係の問題だと言われていますが

npm インストール mysql2

または

npm install -g mysql2

同じエラーが出ます。

larry@DESKTOP-NSSNPRR:/mnt/c/Users/larry/Desktop/node/AAF-NodeJS$
sequelize db:migrate

Sequelize CLI [Node: 10.1.0, CLI: 4.0.0, ORM: 4.37.10]

(node:2241) ExperimentalWarning: The fs.promises API is experimental
Loaded configuration file "db/config/database.json".
Using environment "development".

ERROR: Please install mysql2 package manually

これが、何人かの人がリクエストしていた私のpackage.jsonです。

{
  "name": "aaf-website-node",
  "version": "0.0.1",
  "description": "Nodejs implementation of the achieve anything website",
  "main": "app.js",
  "scripts": {
    "start": "node bin/www",
    "dev": "node node_modules/nodemon/bin/nodemon.js bin/www",
    "test": "jasmine",
    "console": "node console.js"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/AchieveGirl/AAF-NodeJS.git"
  },
  "keywords": [
    "nodejs",
    "express"
  ],
  "author": "Larry Cherry",
  "license": "MIT",
  "bugs": {
    "url": "https://github.com/AchieveGirl/AAF-NodeJS/issues"
  },
  "homepage": "https://github.com/AchieveGirl/AAF-NodeJS/blob/master/README.md",
  "dependencies": {
    "body-parser": "^1.18.2",
    "bootstrap": "^4.0.0",
    "compression": "^1.7.2",
    "cookie-parser": "^1.4.3",
    "dotenv": "^5.0.1",
    "ejs": "^2.5.7",
    "eslint": "^4.19.1",
    "express": "^4.16.3",
    "express-ejs-layouts": "^2.3.1",
    "express-minify": "^1.0.0",
    "express-minify-html": "^0.12.0",
    "jquery": "^3.3.1",
    "lodash": "^4.17.5",
    "morgan": "^1.9.0",
    "mysql2": "^1.5.3",
    "node-fetch": "^2.1.2",
    "node-minify": "^2.4.1",
    "popper.js": "^1.14.3",
    "sequelize": "^4.37.10",
    "sequelize-cli": "^4.0.0",
    "serve-favicon": "^2.4.5",
    "webpack": "^4.1.1",
    "webpack-cli": "^2.0.12"
  },
  "devDependencies": {
    "nodemon": "^1.17.2",
    "pryjs": "^1.0.3"
  }
}

解決方法は?

それで、やっとバグがわかりました。私のプロジェクトでは、ローカルにインストールしたsequelizeのバージョンではなく、グローバルにインストールしたsequelize-cliからマイグレーションを呼び出しているときに問題が発生するようです。私はノードモジュールフォルダからスクリプトを呼び出すだけで、完璧に動作しました。私はこのようにコマンドを呼び出していました sequelize db:migrate ローカルにインストールされたパッケージを呼び出す必要がある場合、このようにします。 node_modules/.bin/sequelize db:migrate