Meteor app在第二个终端没有看到本地包

时间:2015-10-22 23:50:39

标签: meteor add local packages persist

我有一个名为height: 100%;的应用程序,其中包含/ packages目录,以及一个名为top: 0的本地程序包,位于/ packages目录中。

以下是packagetester的包文件。

lauffenp:notifications

现在,如果我使用packagetester在单个终端中运行它,它运行正常,它会找到它应该的包并执行它。

但是,如果我打开第二个终端并尝试做同样的事情,它就找不到包裹:

meteor-base             # Packages every Meteor app needs to have
mobile-experience       # Packages for a great mobile UX
mongo                   # The database Meteor supports right now
blaze-html-templates    # Compile .html files into Meteor Blaze views
session                 # Client-side reactive dictionary for your app
jquery                  # Helpful client-side library
tracker                 # Meteor's client-side reactive programming  library

standard-minifiers      # JS/CSS minifiers run for production mode
es5-shim                # ECMAScript 5 compatibility for older browsers.
ecmascript              # Enable ECMAScript2015+ syntax in app code

autopublish             # Publish all data to the clients (for prototyping)
insecure                # Allow all DB writes from clients (for prototyping)

lauffenp:notifications

这是在左侧终端上运行的应用程序的屏幕截图,在右侧终端上失败。 screen capture of app running/not running in two terminal instances

如果我退出左侧终端,它不会运行并给我同样的错误。我必须以meteor=> Started MongoDB. => Errors prevented startup: While selecting package versions: error: unknown package in top-level dependencies: lauffenp:notifications 以某种方式重置'包,然后我可以在一个终端上运行它。

我怎样才能让流星“坚持”#39;当地包裹?

1 个答案:

答案 0 :(得分:1)

您在第二个终端上遇到的错误似乎与丢失的软件包有关,但实际上这是因为您尝试在同一目录中运行同一应用程序的多个实例。

你做不到。

当一个实例尝试将应用程序构建到.meteor/local目录中时,其他种族将进行清理和重建,其中一个实例会丢失对依赖项的跟踪,因此会产生误导性错误消息。

但是如果你检查另一个终端上的上一个警告,你会发现实际问题是多个实例。

即,

  • 如果有其他东西在3000上侦听,你必须在另一个端口上运行流星
  • 如果要运行同一应用程序的两个实例,则必须创建app文件夹的另一个副本,从该复制的文件夹运行第二个实例并将其设置为在另一个端口上侦听