2016-09-04 24 views
2

在我的節點模塊中,我使用了源代碼中需要一段時間編譯的較大的庫。我相信這與node-gyp默認使用的--no-parallel設置有關。現在我想知道是否可以並行編譯node-gyp編譯cpp文件來加速這個過程。我找不到對GYP format reference page有幫助的東西。是否有我的項目gyp文件的設置或node-gyp的黑客?如何啓用node-gyp並行構建?

回答

3

只需添加到您的package.json文件:

"scripts": { 
    "install": "node-gyp rebuild -j 8" 
}, 
+1

對於手動命令行,建立'節點GYP建設 - j 8'也可以像你期望的那樣工作。與GNU Make不同,'-j8'雖然沒有做任何事情,甚至沒有警告。很糟糕的命令行參數處理:/ –

3

看着the code,這也可能工作:

$ env JOBS=8 npm install ... 
+0

沒錯,你可以設置一個環境選項,但我真的更喜歡gyp文件中的選項,以便它可以在所有情況下工作(對於開發者,在Travis或其他CI env,特別是爲你的用戶)。 –

+0

@MikeLischke你如何觸發構建?根據我對native模塊的經驗,你可以在'package.json'中添加一個'build'腳本,它也可以包含環境變量(''build':'env JOBS = 8 node-gyp ...'') 。 – robertklep

+0

對於特拉維斯我試過安裝:選項,這運行我的命令,只是爲了給我一個錯誤,我找不到node-gyp。但也許我應該嘗試構建:選項呢? –