在执行ci脚本时,发现如下报错:
node:internal/modules/cjs/loader:646
throw e;
^
Error: Cannot find module '/Users/xxx/project/node_modules/less/lib/less'
at createEsmNotFoundErr (node:internal/modules/cjs/loader:1261:15)
at finalizeEsmResolution (node:internal/modules/cjs/loader:1250:15)
at resolveExports (node:internal/modules/cjs/loader:639:14)
at Function._findPath (node:internal/modules/cjs/loader:728:31)
at Function._resolveFilename (node:internal/modules/cjs/loader:1211:27)
at Function._load (node:internal/modules/cjs/loader:1055:27)
at TracingChannel.traceSync (node:diagnostics_channel:322:14)
at wrapModuleLoad (node:internal/modules/cjs/loader:220:24)
at Module.require (node:internal/modules/cjs/loader:1311:12)
at require (node:internal/modules/helpers:136:16) {
code: 'MODULE_NOT_FOUND',
path: '/Users/xxx/project/node_modules/less'
}
排查后发现,官方的miniprogram-ci依赖less的版本为"^4.1.2",即执行npm i时会默认下载 >=4.1.2 和 <5.0.0的最新版本,据查,less于3月11日北京时间5点更新了4.6.2(https://www.npmjs.com/package/less/v/4.6.2),该版本会引起以上报错。建议官方将less版本号改为"~4.1.2"

2.1.31 试试