尝试使本地Meteor软件包的依赖项更新时相当繁琐。
目前,它们在package.js
中指定,我必须检查所使用的每个依赖项的最新版本并手动更新。
E.g。
api.use([
'alanning:roles@1.2.14',
'aldeed:simple-schema@1.5.3',
'aldeed:collection2@2.8.0',
'iron:router@1.0.12',
'useraccounts:iron-routing@1.12.4'
]);
可以meteor-tool
执行此操作,还是有更好的方法来更新软件包'依赖项,在项目中有多个本地包时尤其有用。
答案 0 :(得分:1)
正如我在评论中提到的那样,在package.js
中碰撞依赖版本没有实际价值。它可能会导致反作用并打破版本解析。
期望提及最小兼容版本(具有相同的主版本号)。当您的本地程序包更新时,其.versions
文件也会更新,这可能暗示构建系统使用哪个版本的依赖项是您首选使用的(依赖于您的程序包)。
我能给出的最接近的答案就是David Greenspan的引用* taken from the Meteor forums:
随着时间的推移,我们对流星更新做了一些小改进,但是 我们没有办法让包请求其中一个依赖项 要更积极地升级。没有参数的流星更新会 将补丁更新带到间接依赖关系,但不是次要版本。一世 最近改进了流星更新打印的消息,所以在 下一个版本,它应该告诉你是否存在间接依赖 它运行后的最新版本(而不是打印错误 消息“所有包都是最新的兼容版本”。)
如果你碰到一个包的次要版本,我认为期望 现在是你将重新发布依赖它的包 如果你想让他们的用户获得新版本(在运行之后) 测试以确保一切顺利。)
因此,当您依赖的软件包的作者发布一个新的:
我不会指望现在的行为,因为包装系统经历了非常重要的返工,以便与NPM更加兼容(包括直接需要来自Meteor的NPM包的能力)应用程序和软件包),预计将包含在v1.3中。
*(实际上,Sacha Greif发布了报价)。
答案 1 :(得分:0)
这是来自文档:
通常,您必须指定包的版本(例如, ' accounts@1.0.0'使用版本1.0.0或更高版本的兼容版本 (例如:1.0.1,1.5.0等)的账户包)。如果你是采购 来自带有versionsFrom的Meteor版本的核心软件包,您可以离开 关闭核心软件包的版本名称。您也可以指定约束, 比如my:forms@=1.0.0(这个包需要我的:1.0.0表格 确切),或我的:forms@1.0.0 || = 2.0.1(我的:形式为1.x.y,或者完全是 2.0.1)。
所以答案是,它不会更新你的package.js脚本,但会下载最新的兼容版本,具体取决于你的设置。