2017-06-21 79 views
2

npm允許使用自定義git URL來指定依賴關係(請參閱npm install private github repositories by dependency in package.json)。構建Git依賴於全局npm安裝

但是,這些依賴關係通常打包並published npm註冊表,因此它們可以按名稱安裝。這個發佈過程通常包括通常在github中不可用的構建文件,縮小文件等。

使用自定義git URL安裝依賴關係時,可能需要這些build,minify等文件,但它們將不可用。

要生成這些文件,可以使用npm scripts在安裝生命週期中運行掛接。但是,我找不到合適的腳本來完成這個任務:

  1. Prepublish不會在全球安裝運行。將棄用prepareprepublishOnly
  2. 準備也只能在本地安裝上運行。 (編輯:還準備在全球安裝運行,不像是什麼在npm scripts docs說)
  3. 預組裝運行npm packnpm publish和之前也當安裝git的依賴(如the documentation解釋)。但是,在全局安裝(節點LTS版本:v6.11.0,npm版本(來自節點LTS):3.10.10)中嘗試此腳本時未觸發它。
  4. 預安裝和安裝是不推薦在best practices

不要使用安裝。使用.gyp文件進行編譯,並預先發布其他任何內容。您幾乎不需要明確設置預安裝或安裝腳本。如果您正在這樣做,請考慮是否有其他選擇。安裝或預安裝腳本的唯一有效用途是編譯,必須在目標體系結構上完成。

  • 安裝後將在包裝,這是不期望的行爲的本地安裝也運行。
  • 回答