首页 > 解决方案 > 未找到 Vue-cli-service@latest

问题描述

全局安装 vue-cli,试过 npm run serve,没用。所以尝试了 vue 文档中的另一个命令 -

npx vue-cli-service serve

它抛出了这个错误:

    0 info it worked if it ends with ok
    1 verbose cli [ '/usr/local/bin/node',
    1 verbose cli   '/usr/local/lib/node_modules/npm/bin/npm-cli.js',
    1 verbose cli   'install',
    1 verbose cli   'vue-cli-service@latest',
    1 verbose cli   '--global',
    1 verbose cli   '--prefix',
    1 verbose cli   '/Users/alexsexotic/.npm/_npx/98241',
    1 verbose cli   '--loglevel',
    1 verbose cli   'error',
    1 verbose cli   '--json' ]
    2 info using npm@6.4.1
    3 info using node@v10.14.0
    4 verbose npm-session 494918c2f272d4c2
    5 silly install loadCurrentTree
    6 silly install readGlobalPackageData
    7 http fetch GET 404 https://registry.npmjs.org/vue-cli-service 1250ms
    8 silly fetchPackageMetaData error for vue-cli-service@latest 404 Not Found: vue-cli-service@latest
    9 timing stage:rollbackFailedOptional Completed in 2ms
    10 timing stage:runTopLevelLifecycles Completed in 1408ms
    11 verbose stack Error: 404 Not Found: vue-cli-service@latest
    11 verbose stack     at fetch.then.res (/usr/local/lib/node_modules/npm/node_modules/pacote/lib/fetchers/registry/fetch.js:42:19)
    11 verbose stack     at tryCatcher (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/util.js:16:23)
    11 verbose stack     at Promise._settlePromiseFromHandler (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js:512:31)
    11 verbose stack     at Promise._settlePromise (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js:569:18)
    11 verbose stack     at Promise._settlePromise0 (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js:614:10)
    11 verbose stack     at Promise._settlePromises (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js:693:18)
    11 verbose stack     at Async._drainQueue (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/async.js:133:16)
    11 verbose stack     at Async._drainQueues (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/async.js:143:10)
    11 verbose stack     at Immediate.Async.drainQueues [as _onImmediate] (/usr/local/lib/node_modules/npm/node_modules/bluebird/js/release/async.js:17:14)
    11 verbose stack     at runCallback (timers.js:705:18)
    11 verbose stack     at tryOnImmediate (timers.js:676:5)
    11 verbose stack     at processImmediate (timers.js:658:5)
    12 verbose cwd /Users/alexsexotic/Desktop/work/Test - mongod:node/client
    13 verbose Darwin 17.2.0
    14 verbose argv "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/bin/npm-cli.js" "install" "vue-cli-service@latest" "--global" "--prefix" "/Users/alexsexotic/.npm/_npx/98241" "--loglevel" "error" "--json"
    15 verbose node v10.14.0
    16 verbose npm  v6.4.1
    17 error code E404
    18 error 404 Not Found: vue-cli-service@latest
    19 verbose exit [ 1, true ]

为什么会抛出这个错误?

标签: vue.js

解决方案


在运行二进制文件之前,您需要安装Vue CLI 服务。尝试在项目级别而不是全局安装。

404 是一个“功能” npx,它尝试下载(然后执行)丢失的包,除非--no-install标志被传递。它找不到vue-cli-service的原因是注册表中不存在该特定包。

请注意 Vue CLI 服务的包名称@vue/cli-service与它安装的二进制文件的名称不同。让我们希望没有人能够注册vue-cli-service出于安全原因调用的模块。因为如果他们这样做了,你就会下载并运行他们的模块。


推荐阅读