导入声明与本地“连接”声明冲突

时间:2020-03-13 16:20:15

标签: typescript yarnpkg node-mysql2

我有一个用打字稿编写的NodeJS / Express服务器,它连接到mysql数据库。我的依存关系包括"mysql2": "1.7.0""@types/mysql2": "github:types/mysql2"。每当我出于某种原因运行yarn addyarn upgrade时,似乎都在更新mysql2或其类型的依赖项。尝试提交代码运行tsc --noEmit,它会产生以下警告:

node_modules/@types/mysql/index.d.ts:2:1 - error TS2440: Import declaration conflicts with local declaration of 'Connection'.

2 import Connection = require('./lib/Connection');
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

// Same for PoolConnection, Pool, PoolCluster, and Query //

Found 5 errors.

husky > pre-commit hook failed (add --no-verify to bypass)

我已经读过this thread了几次,但是我无法弄清楚到底是什么引起了这个问题,因为无论我如何修复它或修复它的频率,它似乎总是在我yarn.lock文件更新时恢复。 / p>

我需要安装哪些版本的依赖项才能将mysql2与typescript一起使用,如何防止它们被更新并再次破坏?我的package.json看起来像这样(由于我在一家公司工作,所以删除了一些零件):

{
  "scripts": {
    "build": "tsc",
    "clean": "rimraf dist",
    "local": "nodemon",
    "format": "prettier \"{src,tests}/**/*.{ts,js}\" --write",
    "lint": "tslint --project tsconfig.json --fix",
    "typecheck": "tsc --noEmit",
    "test": "jest",
  },
  "devDependencies": {
    "@google-cloud/datastore": "^5.0.4",
    "@types/body-parser": "^1.17.1",
    "@types/cors": "^2.8.6",
    "@types/dotenv": "^6.1.1",
    "@types/express": "^4.17.1",
    "@types/express-session": "^1.15.14",
    "@types/faker": "4.1.0",
    "@types/jest": "^24.0.18",
    "@types/luxon": "^1.21.0",
    "@types/mysql2": "github:types/mysql2",
    "@types/passport": "^1.0.1",
    "@types/passport-jwt": "^3.0.2",
    "@types/request-promise": "^4.1.45",
    "@types/supertest": "^2.0.8",
    "faker": "4.1.0",
    "husky": "^3.1.0",
    "jest": "^24.9.0",
    "lint-staged": "^9.4.3",
    "prettier": "^1.19.1",
    "rimraf": "^3.0.0",
    "supertest": "^4.0.2",
    "ts-jest": "^24.1.0",
    "tslint": "^5.20.1",
    "tslint-config-prettier": "^1.18.0",
    "typescript": "^3.7.2"
  },
  "dependencies": {
    "aws-sdk": "^2.585.0",
    "body-parser": "^1.19.0",
    "cors": "^2.8.5",
    "dotenv": "^8.1.0",
    "express": "^4.17.1",
    "express-jwt": "^5.3.1",
    "express-session": "^1.16.2",
    "express-validator": "^6.2.0",
    "hubspot": "^2.3.5",
    "jsonwebtoken": "^8.5.1",
    "jwks-rsa": "^1.6.0",
    "luxon": "^1.21.3",
    "mysql2": "1.7.0",
    "nodemon": "^1.18.9",
    "passport": "^0.4.0",
    "passport-jwt": "^4.0.0",
    "request": "^2.88.0",
    "request-promise": "^4.2.5",
    "request-promise-native": "^1.0.8",
    "selfsigned": "^1.10.7",
    "ts-node": "^8.4.1"
  }
}

任何帮助将不胜感激。

0 个答案:

没有答案