【问题标题】:Update single package with meteorite?用陨石更新单个包?
【发布时间】:2013-07-23 18:48:02
【问题描述】:

有没有办法用陨石更新单个智能包?

长篇大论:

我正在开发一个使用我正在维护的 Smart 包的应用程序。我希望能够快速对包进行实时更改并更新应用程序使用的版本,而无需检查所有可能的更新,例如使用 mrt update 完成时。我知道我可以使用mrt remove package,然后使用mrt add package,但这不太可行,因为有几个依赖项。有没有快速简便的方法?

【问题讨论】:

    标签: javascript node.js meteor meteorite


    【解决方案1】:

    我认为最简单的方法是在/packages 中使用硬包。您可以从 github 下载所需的软件包版本并将其放在 /packages 而不是符号链接中。然后 Meteorite 将使用该版本并在您执行 mrt update 时忽略它

    另一个稍微繁琐的选项,尤其是当您想要修改包时,是使用您的 smart.json 中指定版本或存储库的版本属性:

    使用自定义路径:

    packages: {
        "package-name" : {
            "path": "/home/meteordev/my-package"
        }
    }
    

    版本控制/使用 github fork 或标签(冻结你想要的包版本)

    packages: {
        "package-name" : {
            "git": "https://github.com/user/package.git"
            "tag" : "v0.5"
        }
    }
    

    【讨论】:

    • 谢谢,但问题是它是我在 Atmosphere 上的包,我正在大力更新它,我希望能够在我在 Atmosphere 上更新后立即更新我的项目中使用的版本。我不想把代码放在两个地方。
    • 在这种情况下,第二个使用 smart.json 有帮助吗?如果你运行mrt update,它应该更新包。您可以使用 mrt update && meteor 而不是 meteor 以确保其更轻松的工作流程
    • mrt update 本身很好,但它也会更新所有其他包 - 这需要时间,我想避免这种情况。指向 github 上的标签也不是解决方案,因为我希望它能够轻松更新。是否可以指向 Github 中的最新提交?理想情况下在指定的分支中。
    • 是的,如果您使用'branch':'master'(主分支)而不是tag,它应该能够使用最新提交。如果您为其他也可以锁定的版本指定版本,您可以从 smart.lock 复制过来。
    猜你喜欢
    • 1970-01-01
    • 2013-05-03
    • 2015-09-13
    • 2013-07-04
    • 2013-09-18
    • 1970-01-01
    • 2014-01-03
    • 2014-10-14
    • 2013-08-12
    相关资源
    最近更新 更多