2017-06-15 70 views
2

有誰知道是否可以將節點命令行選項(例如--expose-gc)直接傳遞給npm可執行文件。將節點命令行選項傳遞給npm可執行文件?

我有一個構建可執行文件的節點模塊(請參閱here)。我希望該可執行文件有權訪問global.gc()。爲了做到這一點,你需要用--expose-gc標誌來啓動你的節點進程。

我可以強制用戶將我的可執行文件包裹在節點命令中,但爲什麼我甚至需要可執行文件。思考?

回答

1

假設您的可執行文件被稱爲ex。首先,通過在命令行執行chmod a+x ex來確保它可執行。接下來,確保ex文件以這樣一行:

#! /usr/bin/env node --expose-gc 

env(1)會發現你的路徑上的節點可執行文件,並用給定的參數,它傳遞的ex內容到該進程的標準輸入,因爲在線的開頭處的「scratchbang」#!

運行您的程序只需要ex./bin/ex(例如),而不是node ex

+0

將「--expose-gc」添加到scratchbang中會引發以下錯誤:/ usr/bin/env:node --expose-gc:沒有這樣的文件或目錄。你確定我們可以在scratchbang上傳遞命令行參數嗎? – CBP

+0

這是行不通的。它本來並不適合我,因爲我們如何將節點設置作爲通過我公司的docker運行的別名而瘋狂。感謝您的幫助@Joe Hildebrand!我知道我的可執行文件可以運行,這不是我的問題。如果有人在這裏有問題,關鍵是將命令行選項添加到scratchbang! – CBP

相關問題