2015-01-21 242 views
4

有沒有辦法在全球安裝流星包?全球安裝流星包

因此,爲以後創建的項目安裝沒有互聯網連接的全球安裝軟件包,避免重複下載以及人們可能想到的其他好處。

就像Node.js的,與-g標誌使用NPM命令(節點包管理器),npm install -g,這樣做NPM安裝節點封裝成一個全球性的目錄,當希望從JavaScript程序加載,加載從那裏(如果可用) ,以及從項目的節點模塊文件夾中查找和加載包。

回答

4

Meteor已經將軟件包下載到一個全局存儲庫中,所有本地應用程序都可以從中受益。

因此,如果您meteor add iron:[email protected]它被下載並添加到您的項目。下一次另一個項目需要相同的版本時,它會在同一個地點使用。

此外,還有一個PACKAGES_DIR環境變量,在設置時允許您集中保留自己的本地包,以便您可以在項目之間共享它們。實際上,您可以將其保留在整個團隊可以集中安裝和使用的網絡驅動器(NFS)上。

然而,存在固有的問題。流星的版本解析程序查找更新,除非你確定你的程序包依賴版本,這正是爲什麼流星似乎非常渴望被連接。

即使你的依賴關係,你依賴的包可能沒有(這顯然是大多數包的情況),所以流星不斷尋找整個包樹的更新,並下載它認爲令人滿意的那些版本約束解析器。

好消息是,他們都在不斷提高自己的工具,需要較低數量的查找,更快的構建,更好的搜索等

總而言之,在本質上沒有什麼可以做,除非流星提供以某種方式託管其軟件包存儲庫的整個鏡像,供您脫機使用。我想這是不太可能發生的。

流星是連接世界的工具,它確實假設你的連接。哎呀,整個旅程始於curl https://install.meteor.com/ | sh

是的,如果我們能夠在偏遠的海灘上跋涉,或者到達該海灘的12小時飛行,那將是非常棒的。

到那時,在線開心編碼;)

+0

謝謝。我的意思是無法離線使用整個流星包倉庫,這對大部分軟件包管理者來說已經是最不尋常的了,比如npm,甚至os包管理器,比如freebsd pkg。 從你的解釋中,你的意思是說,通過'meteor add'安裝的meteor包被添加到一箇中央全局目錄中,而我發佈meteor add的項目只是將這個包dir複製到它的目錄中。如果是這樣,在另一個項目中爲同一個包發佈的下一個流星添加通常應該只是將包dir複製到這個項目目錄中,我的意思是離線.. – 2015-01-22 09:46:51

+0

我認爲這是Meteor的方式,而你的意思是「..同名點」。但是必須給出相同的確切版本號,以便從本地計算機中央全局目錄中的現有副本進行安裝。 – 2015-01-22 09:50:12

+0

它不會將包複製到項目的包目錄中。它只是在構建時將它們複製到您的構建版本中,該版本進入項目根目錄下的.meteor/local/build目錄(這只是開發過程中爲應用程序提供服務的tmp位置)。關於版本號,您不需要爲這種匹配請求確切的版本。 Meteor的版本約束解析器分別爲您的每個本地應用程序工作,當您的兩個應用程序碰巧需要相同的版本時,它只會被下載一次到您的全局包存儲庫,然後從那裏下載到您的本地構建中。 – 2015-01-22 17:31:06