首页
Preview

在package.json中使用Github分支作为依赖项

需要跟踪一个 fork 版本的 node 代码库,或者将项目组件分离到它们自己的仓库中吗?

更新:2018 年 2 月 15 日

发现这可以在一个 CLI 命令中完成:

npm install --save username/repo#branch-name-or-commit-or-tag

上面的命令会将 Github 上的一个 node 包安装到你的 node_modules 文件夹中,并自动将其添加到 package.json 中的依赖项!

这种方法可以使用,但更像是一种变通方法而不是真正的解决方案。

考虑发布你的包到 NPM(或你选择的 JavaScript 包注册表),这是包管理的正确选择。Git 分支可以随时被删除或更改,因此不能保证依赖性的稳定性。如果这对你很重要,请发布到注册表!

从 git 分支安装还会破坏你运行 npm update 更新依赖性的能力,强制你卸载并重新安装包,以便拉取推送到分支的任何新更改。

如果你决定这样做,安装一个特定的提交哈希或者 ** git tag 要比安装一个分支名更安全。**这样,你的依赖性就与特定的提交相关联,而不是与分支上的最新提交相关联。然而,上述关于依赖性消失和更新路径破裂的警告仍然适用!你已经被警告了😉。

感谢Tierney Cyren指出了这种方法的缺陷

要从 Github 安装一个公共项目而不是 NPM 注册表,可以使用username/repo#branch-name格式将 Github 仓库添加到 package.json 的依赖项中。

// package.json
..."dependencies": {"botkit": "jonchurch/botkit#multi-hears",}....

运行 npm install,npm 将下载项目并将其保存到 /node_modules/ 文件夹中。

在分支上推送了新更改后,删除你的 node_modules 中的包,然后再次运行 npm install。像这样:

npm uninstall botkit && npm install jonchurch/botkit#multi-hears

这就是全部了!现在你可以从 Github 跟踪所有未发布的包。

版权声明:本文内容由TeHub注册用户自发贡献,版权归原作者所有,TeHub社区不拥有其著作权,亦不承担相应法律责任。 如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

点赞(0)
收藏(0)
一个人玩
先找到想要的,然后出发

评论(0)

添加评论