【发布时间】:2020-10-10 00:24:33
【问题描述】:
项目中的一个包基于内部 npm 存储库。
{
"dependencies": {
"my-library": "git+ssh://<gitrepo>#dist"
}
}
其中 dist 是要克隆的分支。这“有效”,因为它安装了正确的版本。但是,每当此分支发生更新时,我无法使用 npm 进行更新? - 我试过 npm update My-Library 但这只是下载旧的提交,它不会转移到同一分支中的新提交。
我找到的唯一“解决方案”是从 node_modules 文件夹中手动删除库,并删除 package-lock.json 中的库条目(或将那里的引用更新为正确的提交)。
使库遵循另一个 git 存储库的最新版本的正确方法是什么?
编辑:如果这只是一个明确的“不支持”,那对我来说也足够了。
【问题讨论】:
-
旁注:我个人更喜欢在 npm 依赖项中使用 git 哈希而不是 git 分支。这样我就确定我有我想要的提交,并且我的依赖项在某个时间点得到修复,确保它在未来不会中断。
-
@xurei 我们为此使用了一个特定的分支。 - 一旦我们需要对此进行更多控制,它将转移到具有语义版本控制的私有 npm 存储库。
npm ci应该只考虑包锁,我完全希望将自己修复到特定的提交)。