卸载@vue/cli 4.1.1
出错了不要怕也不要头大, 正确分析原因是关键的,
网上的报错千千万, 不要盲从别人的方法, 找到适合自己的问题是关键,
一般来说, shell 报错都会给出原因和可能的解决方案, 认真看报错, 可能就会有眉目了.
正常卸载
npm uninstall -g @vue/cli
卸载报错问题
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated request-promise-native@1.0.9: request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142
npm WARN deprecated @hapi/joi@15.1.1: Switch to 'npm install joi'
npm WARN deprecated @hapi/bourne@1.3.2: This version has been deprecated and is no longer supported or maintained
npm WARN deprecated @hapi/topo@3.1.6: This version has been deprecated and is no longer supported or maintained
npm WARN deprecated @hapi/address@2.1.4: Moved to 'npm install @sideway/address'
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated chokidar@2.1.8: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
npm WARN deprecated fsevents@1.2.13: fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade tonpm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.2.7 (node_modules\vue-cli-plugin-apollo\node_modules\chokidar\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.13: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm ERR! code EEXIST
npm ERR! path
D:\Program Files\nodejs\global\node_modules\@vue\cli\node_modules\_apollo-codegen-flow@0.33.33@apollo-codegen-flow\node_modules\@babel\generator\node_modules\.bin\jsesc.cmd
npm ERR! Refusing to delete
D:\Program Files\nodejs\global\node_modules\@vue\cli\node_modules\_apollo-codegen-flow@0.33.33@ap\jsesc.cmd: ..\..\..\..\_jsesc@2.5.2@jsesc\bin\jsesc symlink target is nollo-codegen-flow\node_modules\@babel\generator\node_modules\.binot controlled by npm
D:\Program Files\nodejs\global\node_modules\@vue\cli\node_modules\_apollo-codegen-flow@0.33.33@apollo-codegen-flow\node_modules\@babel\generator\node_modules\jsesc
npm ERR! File exists:
D:\Program Files\nodejs\global\node_modules\@vue\cli\node_modules\_apollo-codegen-flow@0.33.33@apollo-codegen-flow\node_modules\@babel\generator\node_modules\.bin\jsesc.cmd
npm ERR! Remove the existing file and try again, or run npm
npm ERR! with --force to overwrite files recklessly.
方案一(失败): 在管理员模式, 加–force参数, 卸载失败, 问题同上
npm uninstall -g @vue/cli --force
方案二(失败): 清楚npm缓存, 再次卸载
npm cache clean --force
npm uninstall -g @vue/cli --force
方案三(成功): 手动删除对应的文件 jsesc.cmd
和 jsesc
,文件位置如下:
D:\Program Files\nodejs\global\node_modules\@vue\cli\node_modules\_apollo-codegen-flow@0.33.33@apollo-codegen-flow\node_modules\@babel\generator\node_modules\.bin\
npm uninstall -g @vue/cli --force
分析
从报错信息中分析, 得知失败的原因是 jsesc.cmd
和 jsesc
这样个文件拒接删除
我觉得可能是互相引用造成的,那么既然你删除不了, 我就帮你删除一下, 这句话也是这个意思npm ERR! Remove the existing file and try again, or run npm
所以就有了方案三
的操作