在 package.js 中,我依赖 fluent-ffmpeg,如下所示:
Npm.depends({
"fluent-ffmpeg": "1.5.2",
});
现在我需要该库的最新主控,因为其中进行了错误修复,但尚未将其制成标签。我该如何描述这种依赖关系?似乎 Npm.depends 只接受版本号,而不是 git 哈希或链接或其他任何东西。
看来您可以将依赖项指向 github tarball。据我所知,它没有记录,但Npm.depends 的来源提到了 _isGitHubTarball,它检查版本是否为 format /^https:\/\/github.com\/.*\/tarball\/[0-9a-f]{40}/
。
这意味着您可以浏览到您需要的代码版本(例如,在我的情况下这个提交),并使用“下载 ZIP”链接。我们又遇到了一个问题;github 已停止使用 tarball,而是使用 zip 文件。因此,您获得的链接与正则表达式不匹配,而是采用以下形式:
https://github.com/schaermu/node-fluent-ffmpeg/archive/fe2e162e3ac63bfac316a21fda8c0936556eef37.zip
您可以手动将其重写为:
https://github.com/schaermu/node-fluent-ffmpeg/tarball/fe2e162e3ac63bfac316a21fda8c0936556eef37
(存档> tarball,并删除扩展名)。
现在你可以在你的 package.js Npm.depends 中使用它:
Npm.depends({
"fluent-ffmpeg": "https://github.com/schaermu/node-fluent-ffmpeg/tarball/fe2e162e3ac63bfac316a21fda8c0936556eef37",
});