评论
承认!我会看看我是否可以从 CI 运行中挖掘出一个 package-lock.json 作为起始参考。 |
我一直在尝试在 Raspberry PI 上安装 CNCJS,但没有成功。使用我找到的任何安装说明,都会出现大量 NMP/Node.js 版本不兼容和缺少软件包的警告。json 文件会解决我的困难吗?听起来可能。 |
设法从 CI 构建中获取 package-lock.json:https ://gist.github.com/emcniece/a02e5f8b129a57109efc0e931167387d 为了让构建通过,我必须将 Appveyor/CI NodeJS 版本从 12 更新到 14。这可能会导致一些分发问题——单元测试似乎通过了,但操作系统集成将需要手动确认。 如果有人想尝试使用这个 package-lock.json 构建和运行,那将是一个很大的帮助。我会看看我是否可以标记并触发构建以进行测试。 |
package-lock.json 的问题之一是 但是,CI 通常不应自行更改或生成锁定文件。 然后我们有这个可憎的。应该生成哪个 CI(或实际打包真实版本的任何人/任何东西)。https://docs.npmjs.com/cli/v9/commands/npm-shrinkwrap 但是,如果您的顶级项目被用作其他项目的依赖项,则此文件会给下游用户带来真正的痛苦。 |
如果这有效并且生成的文件在 6 个平台构建 ( https://ci.appveyor.com/project/emcniece/cncjs ) 中是相同的,那么下一步可能是手动确认这些构建中的每一个都会产生功能性应用程序在各自的平台上。 |
描述
目前,存储库不提供
package-lock.json
. 因此,无法重现用于构建所提供版本的确切依赖集。请考虑提供
package-lock.json
用于创建发布的,通过将它们作为发布源分发的一部分或将其作为存储库的一部分进行管理(后者是首选)。这还将带来其他好处,例如
node_modules
通过散列锁定文件来缓存 CI。版本
操作系统