node.js - NPM CI 跨平台可靠性
问题描述
我们的 NodeJS 应用程序应该在 Linux 和 Windows 服务器上运行。我们有以下两难境地:
- 如果我们
npm i
作为 CI Build 运行,那么由于开发人员笔记本电脑的 NPM 和构建服务器之间的差异,有时会出现错误。 - 但是,如果我们运行,
npm ci
那么构建可能会被锁定到开发人员笔记本电脑(Windows)的平台,并且无法在 linux 构建服务器上运行。
也许我们的假设是不正确的:
- 我们是否需要构建我们的应用程序的 2 个版本:每个平台一个?
- 是否
npm ci
通过 将我们锁定在开发者机器的平台中package-lock.json
?
在开发人员的 Windows 笔记本电脑和 Windows 服务器上工作但不在 Linux 服务器上工作的构建示例是为平台编译内容的应用程序strapi
或包之类sharp
的(.dll 用于 Windows,godknowswhat 用于 linux)。
解决方案
推荐阅读
- transactions - Arules:如何从 lhs/rhs 获取某些项集
- sql - 使用 Azure Active Directory 身份验证的行级安全性 - WEB API
- node.js - 有没有办法使用 fs 向 json 对象添加数据
- python - 删除双链表中的每隔一个字符
- azure-devops - Azure Pipelines 维护多个国家/地区/环境
- javascript - 如何使用 JavaScript 防止 textarea 元素上的跨站请求伪造 (CSRF)?
- javascript - 如何在 Firestore 查询中过滤掉某些文档
- python - 数据框:在列上移动值
- mysql - MySQL 通过 rand() 将 order 修改为其他方法
- python - Alt-Tab 组合键关闭我的全屏 tkinter 应用程序