使用“npm install crypto-js”安装crypto-js依赖模块时,报“CERT_HAS_EXPIRED”证书过期错误具体如下:
XuMBP:~ xubingtao$ npm install crypto-js
npm ERR! code CERT_HAS_EXPIRED
npm ERR! errno CERT_HAS_EXPIRED
npm ERR! request to https://registry.npm.taobao.org/crypto-js failed, reason: certificate has expired
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/xubingtao/.npm/_logs/2024-08-15T01_18_57_479Z-debug.log
先清除下npm缓存:npm cache clean –force
然后更新npm,其实可以直接更新nodejs即可:npm install -g npm
还是报证书过期问题,查看npm源:npm config get registry
那么直接更换成这个npm源:npm config set registry https://registry.npmmirror.com/
也可以更换成官方的npm源:npm config set registry https://registry.npmjs.org/
再查看npm源就会看到提示更新npm版本,需要提醒的是一旦更新到新版本的npm就必须更新到对应的nodejs(其实可以直接更新nodejs即可),不然会报错。
XuMBP:~ xubingtao$ npm -version
internal/modules/cjs/loader.js:800
throw err;
^
Error: Cannot find module 'node:path'
Require stack:
- /usr/local/lib/node_modules/npm/lib/cli.js
- /usr/local/lib/node_modules/npm/bin/npm-cli.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:797:15)
at Function.Module._load (internal/modules/cjs/loader.js:690:27)
at Module.require (internal/modules/cjs/loader.js:852:19)
at require (internal/modules/cjs/helpers.js:74:18)
at Object.<anonymous> (/usr/local/lib/node_modules/npm/lib/cli.js:2:18)
at Module._compile (internal/modules/cjs/loader.js:959:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:995:10)
at Module.load (internal/modules/cjs/loader.js:815:32)
at Function.Module._load (internal/modules/cjs/loader.js:727:14)
at Module.require (internal/modules/cjs/loader.js:852:19) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/usr/local/lib/node_modules/npm/lib/cli.js',
'/usr/local/lib/node_modules/npm/bin/npm-cli.js'
]
}
更新nodejs有四种方法,分别是使用Node.js官方安装程序更新、使用包管理器更新(“npm install -g n”、“n stable”或“n latest”)、使用nvm更新、使用命令行编译源码更新,不推荐使用源码编译更新,这种可能会遇到很多问题。
这里使用官网安装包更新,这种方式的好处就是不用安装多余的工具,只需下载后直接安装即可。
最后就可以安装crypto-js依赖模块了。
历史上的今天:
展开阅读全文