将所有Meteor软件包更新到最新版本

Nol*_*lan 23 meteor

我正在开发一个尚未投入生产的Meteor应用程序,因此我可以在采用新的软件包版本时迅速采取行动(例如,在我集成它之后,useraccounts在几个小时后出现了重大版本.)这是我的想法meteor update是要完成的.然而,当我跑:

meteor update

从我的项目,我被告知包更新但.meteor /版本保持不变.

我可以通过运行来升级软件包meteor add someone:package@whatever,但这只是将版本依赖从.meteor /版本改为.meteor/packages,即使它似乎在进行升级.我很高兴在我投入生产时锁定版本,但似乎在开发中我应该能够使用更新命令,尤其是作为meteor list下一步指示.

我已经设法通过删除.meteor/versions和.meteor/local并运行来升级我的所有软件包meteor update,但这看起来很麻烦.

我也发现了这个问题,但它已经关闭了.它应该重新开放还是我应该开一个新问题?我理解semver是如何工作的,但我认为问题是Meteor没有将其约束求解器结果写入.meteor/versions,因此没有意识到已经应用了包更新.这是准确的还是我只是误解了什么?

Fek*_*ied 33

现在你可以干脆做

meteor update --all-packages
Run Code Online (Sandbox Code Playgroud)


sim*_*map 29

扩展以前的答案,您可以使用以下方法更新所有包:

grep -ve '^#' .meteor/packages | xargs meteor update
Run Code Online (Sandbox Code Playgroud)


小智 15

暂时看起来您有2个选项可用于包含您希望使用的更新:

  1. 通过meteor remove provider:package_name和删除并添加关注的包meteor add provider:package_name
  2. 通过手动更新包及其特定版本的包 meteor add provider:package_name@X.X.X

除非您删除并添加#2500,否则Meteor不会更新包


Sau*_*uce 14

你也可以使用 meteor update provider:package_name


ian*_*ian 13

最简单的方法是删除.meteor/versions的内容然后保存.下次运行meteor时,它会将所有软件包更新到最新版本.