Azure DevOps构建VueJS 2遇双重错误:加密信封&caniuse-lite更新失败
解决Azure DevOps中Node 16.19.0构建Vue 2项目的两个问题
问题1:digital envelope routines::unsupported 报错
该错误源于Node.js 16+默认启用了OpenSSL 3.0的新算法,而Vue 2依赖的Webpack 4等工具暂不兼容。解决方式是在执行构建命令前设置环境变量:
在Azure DevOps YAML中修改构建步骤:
- script: | export NODE_OPTIONS=--openssl-legacy-provider npm run build displayName: 'Build Vue project'
问题2:caniuse-lite更新失败报错
使用npx browserslist@latest --update-db出现安装失败时,可尝试以下两种方案:
方案1:手动安装指定版本
在npm install步骤后添加手动安装命令,再执行更新:
- script: npm install caniuse-lite@latest --legacy-peer-deps displayName: 'Update caniuse-lite' - script: npx browserslist@latest --update-db displayName: 'Update browserslist database'
方案2:通过package.json锁定版本
在项目的package.json中添加配置,直接锁定caniuse-lite最新版本,避免更新提示:
"devDependencies": { "caniuse-lite": "^1.0.30001457" // 替换为当前最新版本号 }
之后流水线中仅需执行npm install --legacy-peer-deps即可,无需额外更新步骤。
完整YAML示例
steps: - task: NodeTool@0 inputs: versionSpec: '16.19.0' displayName: 'Install Node.js 16.19.0' - script: npm install --legacy-peer-deps displayName: 'Install dependencies' - script: npm install caniuse-lite@latest --legacy-peer-deps displayName: 'Update caniuse-lite' - script: | export NODE_OPTIONS=--openssl-legacy-provider npm run build displayName: 'Build Vue project'
内容的提问来源于stack exchange,提问作者Matt W
相关产品推荐
相关产品推荐

