【问题标题】:How do I depend on an out-of-version npm package in a meteor app?如何在流星应用程序中依赖版本外的 npm 包?
【发布时间】:2013-10-22 01:08:20
【问题描述】:

在 package.js 中,我像这样依赖 fluent-ffmpeg:

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

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

【问题讨论】:

    标签: node.js meteor npm


    【解决方案1】:

    看来您可以将依赖项指向 github tarball。据我所知,它没有记录,但the sources for Npm.depends 提到了_isGitHubTarball,它检查版本是否为/^https:\/\/github.com\/.*\/tarball\/[0-9a-f]{40}/ 格式。

    这意味着您可以浏览到您需要的代码版本(例如 this commit 在我的例子中),并使用“下载 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",
    });
    

    【讨论】:

      猜你喜欢
      • 2019-07-13
      • 2017-10-22
      • 2017-09-13
      • 2017-08-06
      • 2014-11-28
      • 2014-09-29
      • 2014-08-18
      • 2020-01-25
      • 2014-09-27
      相关资源
      最近更新 更多