常见 npm 报错问题

300 阅读1分钟

前言

npm 报错基本都是版本导致的,安装稳定的版本即可修复大部分问题,比如node版本太低级等等

1.npm install 安装外部插件时报错 registry.npm.taobao.org

image.png

提示:request to https://registry.npm.taobao.org/gsap failed, reason: certificate has expired

翻译:提示淘宝镜像过期

1.查看当前的[npm镜像](https://so.csdn.net/so/search?q=npm%E9%95%9C%E5%83%8F&spm=1001.2101.3001.7020)设置:`npm config list`

2.清空缓存:`npm cache clean --force`

3.执行:`npm config set registry https://registry.npmmirror.com`

2.npm install 安装出现 home

image.png

解决:

// 查看npm配置
 npm config list
// 删除 home
 npm config delete home

3.npm install 安装公司私有包

image.png

解决:

删除 package-lock.json 文件

// 清空缓存
npm cache clean --force

npm install

4.npm run build 打包报错

vite v6.3.5 building for production... transforming (1) src\main.tsnode_modules/@tsconfig/node22/tsconfig.json:6:13 - error TS6046: 

Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'es2022', 'es2023', 'esnext', 'dom', 'dom.iterable', 'dom.asynciterable', 'webworker', 'webworker.importscripts', 'webworker.iterable', 'webworker.asynciterable', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2016.intl', 'es2017.date', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.asyncgenerator', 'es2018.asynciterable', 'es2018.intl', 'es2018.promise', 'es2018.regexp', 'es2019.array', 'es2019.object', 'es2019.string', 'es2019.symbol', 'es2019.intl', 'es2020.bigint', 'es2020.date', 'es2020.promise', 'es2020.sharedmemory', 'es2020.string', 'es2020.symbol.wellknown', 'es2020.intl', 'es2020.number', 'es2021.promise', 'es2021.string', 'es2021.weakref', 'es2021.intl', 'es2022.array', 'es2022.error', 'es2022.intl', 'es2022.object', 'es2022.sharedmemory', 'es2022.string', 'es2022.regexp', 'es2023.array', 'es2023.collection', 'es2023.intl', 'esnext.array', 'esnext.collection', 'esnext.symbol', 'esnext.asynciterable', 'esnext.intl', 'esnext.disposable', 'esnext.bigint', 'esnext.string', 'esnext.promise', 'esnext.weakref', 'esnext.decorators', 'esnext.object', 'esnext.regexp', 'esnext.iterator', 'decorators', 'decorators.legacy'. 

"lib": ["es2024", "ESNext.Array", "ESNext.Collection", "ESNext.Iterator"],

问题:@tsconfig/node22 版本不适配,安装稳定的版本

解决:

// 卸载
npm uninstall @tsconfig/node22

// 安装
npm i @tsconfig/node22@22.0.0

也可参考对应改配置 @tsconfig/node22