2016-02-12 81 views
1

我使用本地流星包爲我的應用程序(不張貼在Atmosphere.js)。熱插拔本地流星包

當我在其他地方更新這個包,我繼續執行以下:包裝

  1. 更新版本。
  2. 從實時應用程序的/ packages /目錄中刪除舊包。
  3. 看到我的程序搜索包3(?)次,然後崩潰:

    您的應用程序崩潰。以下是最新的日誌: 防止錯誤啓動:

    在選擇包版本:在頂層的依賴未知包: 錯誤vladimir3000:testpack

    您的應用程序有錯誤。等待文件更改。

  4. 複製新版本的軟件包。
  5. 見我的應用程序拿起變化和現場再次去:

    vladimir3000:testpack從0.0.2升級到0.0.3 重啓

=>流星服務器是否有辦法避免第3步,更優雅地指示流星將另一個包換成另一個包。流星更新不起作用,因爲該軟件包不在atmosphere.js上。或者熱插拔來自SOA世界的東西不是來自Meteor javascript的血液和纖維?

回答

0

您可以簡單地粘貼包裝的文件。

當您刪除舊軟件包時,Meteor會看到文件更改並重建應用程序。由於該軟件包不再存在於軟件包目錄中,因此流星會嘗試將其從Atmosphere中拉下來,因爲它看到在.meteor/packages中存在依賴關係。

它會試圖解決這個依賴幾次,每個構建失敗,因爲你引用的包是未知的。

您可以停止流星並刪除並替換文件夾。或者您可以複製並粘貼該文件夾。第二種方法更可取,因爲Meteor只需重新構建所有新文件,而不是使用Atmosphere重建和嘗試解析依賴關係。

+0

那麼,你已經詳細解釋了第3步,但還有其他更優雅的方式嗎? – Vladimir

+0

我不確定你的意思是「更優雅」。您可以簡單地粘貼舊文件並獲得相同的結果。 – Ivan

+0

我同意開發分支。但在製作過程中,這意味着用戶應用程序崩潰。 – Vladimir