2015-10-22 26 views
1

我有一个名为packagetester的应用程序,它包含/ packages目录以及名为lauffenp:notifications的本地包,位于/ packages目录中。流星应用程序未在第二个终端中看到本地包

以下是来自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 

现在,如果我在使用meteor单一终端运行它,它工作得很好,它找到的包像它应该和执行它。

不过,如果我打开第二个终端,并尝试做同样的事情,它无法找到该软件包:

=> Started MongoDB.       
=> Errors prevented startup:     

    While selecting package versions: 
    error: unknown package in top-level dependencies: lauffenp:notifications 

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

如果我退出左侧终端,它不会运行,并给我同样的错误。我必须meteor removemeteor add以某种方式'重置'包,然后我可以在一个终端上运行它。

我怎样才能让流星'坚持'本地包?

+0

你需要添加/删除 – pahan

+0

不......不运行应用程序添加的所有包包之前,停止你的应用程序的运行上。问题是唯一能找到包的明确的终端实例就是我明确添加的包。 – phillercode

回答

1

您在第二个终端上出现的错误似乎与丢失的软件包有关,但事实上这是由于您试图在同一目录中运行同一应用程序的多个实例。

你不能那样做。

虽然有一个实例试图将该应用程序构建到.meteor/local目录中,但是其他种族进行清理和重建以及其中一个实例失去了依赖关系的追踪,因此会产生误导性的错误消息。

但是,如果您检查另一个终端上的以前的警告,您会看到实际问题是多个实例。

也就是说,

  • 如果有什么关于3000别的倾听,你必须另一个端口
  • ,如果你想运行同一应用程序的两个实例,你必须创建的另一个副本上运行流星您应用程序文件夹,运行从复制的文件夹的第二个实例并将其设置为监听其他端口
相关问题