3

在 package.js 中,我依赖 fluent-ffmpeg,如下所示:

Npm.depends({
  "fluent-ffmpeg": "1.5.2",
});

现在我需要该库的最新主控,因为其中进行了错误修复,但尚未将其制成标签。我该如何描述这种依赖关系?似乎 Npm.depends 只接受版本号,而不是 git 哈希或链接或其他任何东西。

4

1 回答 1

3

看来您可以将依赖项指向 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",
});
于 2013-10-14T12:54:35.650 回答