"Windows npm注册表中缺少'vue-cli-service@latest',但在WSL中可以正常运行"
P粉536909186
P粉536909186 2023-11-07 10:01:47
0
1
820

我有一个Vue应用程序,我正在尝试使用npm run start运行,但是当我从PowerShell或VS Code终端运行该命令时,会出现以下错误:

> economyapp@0.1.0 start C:_codemyapp
> npx vue-cli-service serve

npm ERR! code E404
npm ERR! 404 Not Found - GET https://registry.npmjs.org/vue-cli-service - Not found
npm ERR! 404
npm ERR! 404  'vue-cli-service@latest' is not in the npm registry.
npm ERR! 404 You should bug the author to publish it (or use the name yourself!)
npm ERR! 404
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, http url, or git url.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:UsersUserAppDataRoamingnpm-cache_logs2020-11-28T17_22_02_307Z-debug.log
Install for [ 'vue-cli-service@latest' ] failed with code 1
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! economyapp@0.1.0 start: `npx vue-cli-service serve`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the economyapp@0.1.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:UsersUserAppDataRoamingnpm-cache_logs2020-11-28T17_22_02_401Z-debug.log

当我从WSL中运行npm run start命令时,它可以正常工作,但是当我对代码进行更改时,服务器不会热重载。我尝试过卸载和重新安装Vue CLI,并运行npm install

这是我的package.json文件:

{
  "name": "myapp",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "start": "npx vue-cli-service serve",
    "build": "npx vue-cli-service build",
    "test": "npx vue-cli-service test:unit",
    "lint": "npx vue-cli-service lint",
    "serve": "npx vue-cli-service serve"
  },
  "dependencies": {
    "axios": "^0.21.0",
    "core-js": "^3.4.3",
    "lodash": "^4.17.15",
    "moment": "^2.24.0",
    "register-service-worker": "^1.6.2",
    "store2": "^2.11.1",
    "vue": "^3.0.0",
    "vue-router": "^3.1.3",
    "vuex": "^3.1.2"
  },
  "devDependencies": {
    "@types/jest": "^24.0.19",
    "@typescript-eslint/eslint-plugin": "^2.28.0",
    "@typescript-eslint/parser": "^2.28.0",
    "@vue/cli-plugin-babel": "^4.1.0",
    "@vue/cli-plugin-eslint": "^4.1.0",
    "@vue/cli-plugin-pwa": "^4.1.0",
    "@vue/cli-plugin-router": "^4.1.0",
    "@vue/cli-plugin-typescript": "^4.3.1",
    "@vue/cli-plugin-vuex": "^4.1.0",
    "@vue/cli-service": "^4.2.3",
    "@vue/devtools": "^5.3.3",
    "@vue/eslint-config-prettier": "^5.0.0",
    "@vue/eslint-config-typescript": "^5.0.2",
    "@vue/test-utils": "1.0.0-beta.29",
    "eslint": "^6.0.0",
    "eslint-plugin-prettier": "^3.1.1",
    "eslint-plugin-vue": "^6.0.0",
    "lint-staged": "^9.4.3",
    "prettier": "^1.19.1",
    "typescript": "^3.8.3",
    "vue-template-compiler": "^2.6.10"
  },
  "gitHooks": {
    "pre-commit": "lint-staged"
  },
  "lint-staged": {
    "*.{js,vue,ts}": [
      "vue-cli-service lint",
      "git add"
    ]
  }
}


P粉536909186
P粉536909186

全部回复(1)
P粉463418483

TL;DR: 运行npm install

vue-cli-service@vue/cli-service在你的devDependencies中提供。因为你在npx命令中没有指定包,所以如果它必须在注册表中查找,它会失败。没有npx,你的npm脚本将在node_modules/.bin中查找vue-cli-service。你可以从npm脚本中移除npx,你应该会得到与现在相同的结果。

npx找不到vue-cli-service这个事实表明你还没有运行npm install。运行它,你的npm脚本应该可以正常工作。如果不运行npm install,一旦修复了这个问题,你肯定会遇到其他问题。

如果出于某种原因,你希望npm脚本在不运行npm install的情况下工作,你可以告诉npx在注册表中找到二进制文件的位置。将npm脚本中的npx vue-cli-service改为npx -p @vue/cli-service vue-cli-service,这样应该可以解决这个问题。但你肯定会遇到其他问题。无论如何,你都应该运行npm install

但要真正找到问题的根源,你需要弄清楚为什么在WSL和非WSL环境中存在差异。我猜测你在某个全局位置安装了@vue/cli-service,只有WSL在你的PATH中找到它,但这只是一个猜测。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板