網站導覽
目錄
npm-rebuild
選擇 CLI 版本
目錄
概要
npm rebuild [<package-spec>] ...]alias: rb
說明
此指令執行下列動作
- 執行生命週期腳本 (
preinstall
、install
、postinstall
、prepare
) - 根據是否啟用 bin 連結連結 bin
此指令特別適用於以下情況,但不限於這些情況
- 安裝新版本的node.js,您需要使用更新的二進制檔案重新編譯所有 C++ 外掛程式。
- 使用
--ignore-scripts
和--no-bin-links
安裝,以明確選擇要建置和/或連結 bin 的套件。
如果提供一個或多個套件規格,則只會重新建置名稱和版本與其中一個規格相符的套件。
通常,您不需要執行 npm rebuild
,因為它已作為 npm 安裝的一部分為您完成(除非您使用 --ignore-scripts
或 --no-bin-links
抑制這些步驟)。
如果您的套件根目錄中有一個 binding.gyp
檔案,則 npm 將使用預設安裝掛勾
"scripts": {"install": "node-gyp rebuild"}
如果 package.json
有自己的 install
或 preinstall
腳本,則會抑制此預設行為。如果套件指定 "gypfile": false
,也會抑制此行為
設定
全域
- 預設值:false
- 類型:布林值
在「全域」模式下運作,以便將套件安裝到 prefix
資料夾,而不是目前的作業目錄。有關行為差異的更多資訊,請參閱 資料夾。
- 套件安裝到
{prefix}/lib/node_modules
資料夾,而不是目前的作業目錄。 - bin 檔案連結到
{prefix}/bin
- man 頁面連結到
{prefix}/share/man
bin-links
- 預設值:true
- 類型:布林值
指示 npm 為套件可執行檔建立符號連結(或在 Windows 上建立 .cmd
shim)。
設定為 false 以不執行此動作。這可以用來解決某些檔案系統不支援符號連結的事實,即使在表面上是 Unix 系統。
foreground-scripts
- 預設值:
false
,除非使用npm pack
或npm publish
,預設值為true
- 類型:布林值
執行所有建置腳本(即 preinstall
、install
和 postinstall
)腳本,以在前景處理序中安裝已安裝的套件,與主 npm 處理序共用標準輸入、輸出和錯誤。
請注意,這通常會使安裝執行速度變慢,並產生更多雜訊,但對於除錯很有用。
ignore-scripts
- 預設值:false
- 類型:布林值
如果為 true,npm 就不會執行 package.json 檔案中指定的腳本。
請注意,明確用於執行特定腳本的指令,例如 npm start
、npm stop
、npm restart
、npm test
和 npm run-script
,如果設定 ignore-scripts
,仍會執行預期的腳本,但不會執行任何前置或後置腳本。
workspace
- 預設值
- 類型:字串(可設定多次)
啟用在當前專案設定的工作空間內容中執行指令,同時透過僅執行此設定選項所定義的工作空間來篩選。
設定 workspace
的有效值為
- 工作空間名稱
- 工作空間目錄路徑
- 父工作空間目錄路徑(將選取該資料夾中的所有工作空間)
設定為 npm init
指令時,可以設定為尚未存在的資料夾,以建立資料夾並將其設定為專案中的全新工作空間。
此值不會匯出至子程序的環境。
workspaces
- 預設值:null
- 類型:null 或布林值
設定為 true 以在所有設定的工作空間中執行指令。
明確設定為 false 會導致 install
等指令完全忽略工作空間。未明確設定時
- 對
node_modules
樹狀結構進行操作的指令(install、update 等)會將工作空間連結至node_modules
資料夾。- 執行其他操作的指令(test、exec、publish 等)會對根專案進行操作,除非在workspace
設定中指定一個或多個工作空間。
此值不會匯出至子程序的環境。
include-workspace-root
- 預設值:false
- 類型:布林值
在為指令啟用工作空間時,請包含工作空間根目錄。
設定為 false 時,透過 workspace
設定指定個別工作空間,或透過 workspaces
旗標指定所有工作空間,將導致 npm 僅對指定的工作空間進行操作,而不對根專案進行操作。
此值不會匯出至子程序的環境。
install-links
- 預設值:false
- 類型:布林值
設定時,file: 協定相依項會打包並安裝為一般相依項,而不是建立符號連結。此選項對工作空間沒有影響。