fork-ts-checker-webpack-plugin-v5 not accessible from @vue/cli-plugin-typescript

Viewed 1092

I am currently switching to node:14-alpine for the build container in a project (previously still node:10-alpine) and npm ci (I rebuilt package-lock.json beforehand) errors with this error:

npm ERR! fork-ts-checker-webpack-plugin-v5 not accessible from @vue/cli-plugin-typescript

According to the package-lock.json, it is using version 4.5.11 of @vue/cli-plugin-typescript but newer 4.x versions still have the fork-ts-checker-webpack-plugin-v5 package as a dependency, which seems to be an alias for fork-ts-checker-webpack-plugin.

I found it two times in my package-lock.json

"node_modules/@vue/cli-plugin-typescript": {
  "version": "4.5.11",
  "resolved": "https://registry.npmjs.org/@vue/cli-plugin-typescript/-/cli-plugin-typescript-4.5.11.tgz",
  "integrity": "sha512-oVv4p/gec/xqFuJOUqBxVuThk7fj2QMfoDpe6QfkWIVQU+g8JLpZvOQo0wDMoiHtURQKtqGQCwC57jkKOCufqg==",
  "dev": true,
  "dependencies": {
    "@types/webpack-env": "^1.15.2",
    "@vue/cli-shared-utils": "^4.5.11",
    "cache-loader": "^4.1.0",
    "fork-ts-checker-webpack-plugin": "^3.1.1",
    "globby": "^9.2.0",
    "thread-loader": "^2.1.3",
    "ts-loader": "^6.2.2",
    "tslint": "^5.20.1",
    "webpack": "^4.0.0",
    "yorkie": "^2.0.0"
  },
  "optionalDependencies": {
    "fork-ts-checker-webpack-plugin-v5": "npm:fork-ts-checker-webpack-plugin@^5.0.11"
  },
  "peerDependencies": {
    "@vue/cli-service": "^3.0.0 || ^4.0.0-0",
    "@vue/compiler-sfc": "^3.0.0-beta.14",
    "typescript": ">=2"
  },
  "peerDependenciesMeta": {
    "@vue/compiler-sfc": {
      "optional": true
    }
  }
}

and

"@vue/cli-plugin-typescript": {
  "version": "4.5.11",
  "resolved": "https://registry.npmjs.org/@vue/cli-plugin-typescript/-/cli-plugin-typescript-4.5.11.tgz",
  "integrity": "sha512-oVv4p/gec/xqFuJOUqBxVuThk7fj2QMfoDpe6QfkWIVQU+g8JLpZvOQo0wDMoiHtURQKtqGQCwC57jkKOCufqg==",
  "dev": true,
  "requires": {
    "@types/webpack-env": "^1.15.2",
    "@vue/cli-shared-utils": "^4.5.11",
    "cache-loader": "^4.1.0",
    "fork-ts-checker-webpack-plugin": "^3.1.1",
    "fork-ts-checker-webpack-plugin-v5": "npm:fork-ts-checker-webpack-plugin@^5.0.11",
    "globby": "^9.2.0",
    "thread-loader": "^2.1.3",
    "ts-loader": "^6.2.2",
    "tslint": "^5.20.1",
    "webpack": "^4.0.0",
    "yorkie": "^2.0.0"
  },
  "dependencies": {
    "dir-glob": {
      "version": "2.2.2",
      "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz",
      "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==",
      "dev": true,
      "requires": {
        "path-type": "^3.0.0"
      }
    },
    "fork-ts-checker-webpack-plugin": {
      "version": "3.1.1",
      "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-3.1.1.tgz",
      "integrity": "sha512-DuVkPNrM12jR41KM2e+N+styka0EgLkTnXmNcXdgOM37vtGeY+oCBK/Jx0hzSeEU6memFCtWb4htrHPMDfwwUQ==",
      "dev": true,
      "requires": {
        "babel-code-frame": "^6.22.0",
        "chalk": "^2.4.1",
        "chokidar": "^3.3.0",
        "micromatch": "^3.1.10",
        "minimatch": "^3.0.4",
        "semver": "^5.6.0",
        "tapable": "^1.0.0",
        "worker-rpc": "^0.1.0"
      }
    },
    "globby": {
      "version": "9.2.0",
      "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz",
      "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==",
      "dev": true,
      "requires": {
        "@types/glob": "^7.1.1",
        "array-union": "^1.0.2",
        "dir-glob": "^2.2.2",
        "fast-glob": "^2.2.6",
        "glob": "^7.1.3",
        "ignore": "^4.0.3",
        "pify": "^4.0.1",
        "slash": "^2.0.0"
      }
    },
    "ignore": {
      "version": "4.0.6",
      "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
      "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
      "dev": true
    },
    "micromatch": {
      "version": "3.1.10",
      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
      "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
      "dev": true,
      "requires": {
        "arr-diff": "^4.0.0",
        "array-unique": "^0.3.2",
        "braces": "^2.3.1",
        "define-property": "^2.0.2",
        "extend-shallow": "^3.0.2",
        "extglob": "^2.0.4",
        "fragment-cache": "^0.2.1",
        "kind-of": "^6.0.2",
        "nanomatch": "^1.2.9",
        "object.pick": "^1.3.0",
        "regex-not": "^1.0.0",
        "snapdragon": "^0.8.1",
        "to-regex": "^3.0.2"
      }
    },
    "path-type": {
      "version": "3.0.0",
      "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz",
      "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==",
      "dev": true,
      "requires": {
        "pify": "^3.0.0"
      },
      "dependencies": {
        "pify": {
          "version": "3.0.0",
          "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
          "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
          "dev": true
        }
      }
    },
    "semver": {
      "version": "5.7.1",
      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
      "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
      "dev": true
    },
    "slash": {
      "version": "2.0.0",
      "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz",
      "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==",
      "dev": true
    }
  }
},

Using npm ci --no-optional doesn't help.

What can be the cause and what can I do to fix this?

2 Answers

You can try deleting your node_modules folder with rm -rf node_modules and the re-install everything with npm i, maybe something got messed up with npm.

I fixed this issue by doing the following steps:

  1. Install fork-ts-checker-webpack-plugin : npm install fork-ts-checker-webpack-plugin
  2. Go to package.json
  3. Under devDependencies, I modified @vue/cli-plugin-typescript version from "~4.5.3" to "~4.1.0"
  4. Run npm i
Related