2
有誰知道是否可以將節點命令行選項(例如--expose-gc)直接傳遞給npm可執行文件。將節點命令行選項傳遞給npm可執行文件?
我有一個構建可執行文件的節點模塊(請參閱here)。我希望該可執行文件有權訪問global.gc()。爲了做到這一點,你需要用--expose-gc標誌來啓動你的節點進程。
我可以強制用戶將我的可執行文件包裹在節點命令中,但爲什麼我甚至需要可執行文件。思考?
有誰知道是否可以將節點命令行選項(例如--expose-gc)直接傳遞給npm可執行文件。將節點命令行選項傳遞給npm可執行文件?
我有一個構建可執行文件的節點模塊(請參閱here)。我希望該可執行文件有權訪問global.gc()。爲了做到這一點,你需要用--expose-gc標誌來啓動你的節點進程。
我可以強制用戶將我的可執行文件包裹在節點命令中,但爲什麼我甚至需要可執行文件。思考?
假設您的可執行文件被稱爲ex
。首先,通過在命令行執行chmod a+x ex
來確保它可執行。接下來,確保ex
文件以這樣一行:
#! /usr/bin/env node --expose-gc
env(1)會發現你的路徑上的節點可執行文件,並用給定的參數,它傳遞的ex
內容到該進程的標準輸入,因爲在線的開頭處的「scratchbang」#!
。
運行您的程序只需要ex
或./bin/ex
(例如),而不是node ex
。
將「--expose-gc」添加到scratchbang中會引發以下錯誤:/ usr/bin/env:node --expose-gc:沒有這樣的文件或目錄。你確定我們可以在scratchbang上傳遞命令行參數嗎? – CBP
這是行不通的。它本來並不適合我,因爲我們如何將節點設置作爲通過我公司的docker運行的別名而瘋狂。感謝您的幫助@Joe Hildebrand!我知道我的可執行文件可以運行,這不是我的問題。如果有人在這裏有問題,關鍵是將命令行選項添加到scratchbang! – CBP