如何更新使用MeteOrjs旧版本的应用程序?
#javascript #开源 #node #meteorjs

如何检查我的项目的流星版本?

首先,您必须知道项目中正在运行的流星版本。最简单的方法是在项目文件夹中运行meteor --version

如果您在项目文件夹之外运行此命令,它将显示安装在计算机上的流星版。

好的,我知道流星版。现在什么?

我建议您在流星文档上关注Changelog page。它将帮助您更好地了解从一个版本变为另一个版本的哪些变化。

要更新的命令很简单:meteor update -release METEOR@<version-number-goes-here>,我真的建议您逐步更新,不要跳过任何版本。例如:如果您使用的是V1.8版本,则应将项目更新为v1.8.0.1,然后将V1.8.0.2,然后是1.8.1,然后是1.8.2等。

不要忘记检查可能的破坏变化

要记住的另一件事是破裂的变化和迁移步骤。有时它们毫不费力,您无需更改代码中的任何内容,但是有时需要一段时间才能更新代码并移至下一个版本,因此请仔细阅读每个版本以避免丢失任何内容。这就是为什么在更新时不要跳过任何版本至关重要。

在更新之前,在您的应用程序中进行良好的测试覆盖范围也是一个好主意,但我知道有时候不是这样。因此,请确保每次更新后运行应用程序,检查功能是否正常工作或运行测试套件。

被困在包裹上。该怎么办?

可能难以理解的一件事是如何更新包装,有时会有一个不更新的依赖性,您需要手动执行此操作。

如果您找不到满足流星版本的版本,或者不再维护软件包,则可以随时将此软件包带到您的应用程序中并覆盖所需的任何内容,并在Github上使用Ping我们。

您可以检查here包的工作方式。

简而言之,为您的项目带来包裹并覆盖您想要的任何东西:

  • 您需要在项目root中创建一个名为packages的文件夹。
  • 创建一个具有与要覆盖的软件包相同名称的文件夹。例如:matb33:collection-hooks
  • 之后,从软件包存储库中复制代码并将其粘贴到您创建的文件夹中。
  • 现在您可以更新所需的任何代码,例如更新依赖项版本,该版本可以在package.js文件中找到。

api.versionsFrom('x.x.x');方法对于获取项目中已经存在的相同包装版本真的很有帮助 - 这位于./meteor/versions中。

Node.js版本更新

node.js版本,如果已更新,则应清洁node_modules文件夹并运行meteor npm install,以确保它将下载更新的节点版本的正确软件包。不要忘记运行您的项目和测试套件以确保一切正常。

重要更新

最关键的更新和需要更多工作的更新是mongodb。他们的API发生了一些破裂的变化,尤其是在v2.3v2.6中,但是有一些迁移指南可以帮助您经历这一痛苦。

我希望您学会了如何更新您的应用程序。您可以随时在ForumsSlack上寻求帮助,如果您陷入某个部分。

好运,更新流星应用程序。

参考:https://docs.meteor.com/changelog.html