今天遇到npm下载什么依赖都报错,导致醒目无法打开
报错:这是我去下载镜像报的错
C:\Users\Administrator>npm install --global vue-cli
npm ERR! code ERR_TLS_CERT_ALTNAME_INVALID
npm ERR! errno ERR_TLS_CERT_ALTNAME_INVALID
npm ERR! request to https://registry.cnpmjs.org/vue-cli failed, reason: Hostname/IP does not match certificate’s altnames: Host: registry.cnpmjs.org. is not in the cert’s altnames: DNS:r.cnpmjs.org
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\Administrator\AppData\Roaming\npm-cache_logs\2021-06-07T03_39_27_641Z-debug.log
原因:我把C:\Users\Administrator\AppData\Roaming路径下的npm和npm-cache删除了,导致npm中项目运行,以及下载依赖无法下载的原因
解决办法:
- 更换淘宝镜像
npm config set registry https://registry.npm.taobao.org
- 安装vue-cli
npm install -g vue-cli
11:43分的内容都是淘宝镜像添加后才有的,我一开始没有下载好,才导致一直报错
二、使用axios报错
原因:vue-cli版本的问题
解决:下载方法
//vue-cli2.0命令
$ npm install axios
//vue-cli3.0命令
$ npm add axios
三、“vue-style-loader”依赖的问题
报
ERROR Failed to compile with 1 errors 5:47:55 PM
This dependency was not found:
* !!vue-style-loader!css-loader?{"sourceMap":true}!../../node_modules/vue-loader/lib/style-compiler/index?{"vue":true,"id":"data-v-e97c7212","scoped":true,"hasInlineConfig":false}!sass-loader?{"sourceMap":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./movieDetail.vue in ./src/views/movieDetail.vue
To install it, you can run: npm install --save !!vue-style-loader!css-loader?{"sourceMap":true}!../../node_modules/vue-loader/lib/style-compiler/index?{"vue":true,"id":"data-v-e97c7212","scoped":true,"hasInlineConfig":false}!sass-loader?{"sourceMap":true}!../../node_modules/vue-loader/lib/selector?type=styles&index=0!./movieDetail.vue
Error from chokidar (E:\): Error: EBUSY: resource busy or locked, lstat 'E:\DumpStack.log.tmp'
Error from chokidar (E:\): Error: EBUSY: resource busy or locked, lstat 'E:\pagefile.sys'
Error from chokidar (E:\node_modules): Error: EBUSY: resource busy or locked, lstat 'E:\DumpStack.log.tmp'
Error from chokidar (E:\node_modules): Error: EBUSY: resource busy or locked, lstat 'E:\pagefile.sys'
原因:此类问题一般是缺少相关依赖而导致的,对于本例,仔细看一下报错提示信息,抓住关键词,vue-style-loader!css-loader,说明是css 解析的时候出了问题。
所以,解决方案就要根据情况而定,看你使用的CSS语言是什么,是 常规的 或者 less 或者 sass。
解决办法:安装依赖
如果是常规的,安装依赖,执行以下命令:
npm install stylus-loader css-loader style-loader --save-dev
如果是 less 的:
npm install less less-loader --save-dev
如果是 sass 的:
npm install sass sass-loader --save-dev
或者
npm intall sass-loader --save ; $npm install node-sass --save
一般只有在初始化配置的的时候才会出现这个问题,如果是已经完好的项目都会在 package.json 中已经配好,直接 install 即可。
四、vue 引入 scss 编译报错
解决了关于“vue-style-loader”依赖的问题,然后报了以下错误
ERROR Failed to compile with 1 errors 6:07:54 PM
error in ./src/views/movieDetail.vue
Module build failed: TypeError: this.getOptions is not a function
at Object.loader (E:\demo1\leftmenubar\node_modules\sass-loader\dist\index.js:25:24)
@ ./node_modules/vue-style-loader!./node_modules/css-loader?{"sourceMap":true}!./node_modules/vue-loader/lib/style-comp
iler?{"vue":true,"id":"data-v-e97c7212","scoped":true,"hasInlineConfig":false}!./node_modules/sass-loader/dist/cjs.js?{"
sourceMap":true}!./node_modules/vue-loader/lib/selector.js?type=styles&index=0!./src/views/movieDetail.vue 4:14-376 13:3
-17:5 14:22-384
@ ./src/views/movieDetail.vue
@ ./src/router/index.js
@ ./src/main.js
@ multi (webpack)-dev-server/client?http://127.0.0.1:8080 webpack/hot/dev-server ./src/main.js
原因:sass-loader 版本过高
解决办法:减低版本 npm install sass-loader@7.3.1 --save-dev
五、Failed to load resource: net::ERR_FAILED问题
报以下错
Failed to load resource: net::ERR_FAILED
createError.js?16d0:16 Uncaught (in promise) Error: Network Error
at createError (createError.js?16d0:16)
at XMLHttpRequest.handleError (xhr.js?ec6c:84)
原因:跨域问题
解决办法:接口问题
六、flexbox.scss布局库出错
原因:这是css中一个flex.scss布局库传参的问题
.box {
@include flex-box(column, space-around);
}
解决办法:build文件下webpack.prod.conf.js的output中加入以下代码
publicPath: process.env.NODE_ENV === 'production'
? './' +config.build.assetsPublicPath
: './' + config.dev.assetsPublicPath,
问题是解决了,这个配置没搞明白