
我正在嘗試修改具有多個依賴項的 npm 套件。因此npm install -g .
需要很長時間才能執行。除了從packages.json 中刪除依賴項之外,我還有其他選擇嗎?
答案1
--無可選現在根據此文件實施選項https://docs.npmjs.com/cli/install:
The --no-optional argument will prevent optional dependencies from being installed.
答案2
如果您自己開發node_module
,請不要在 s 上浪費時間npm install
,而應使用npm link
.
簡而言之,您在 npm 擁有的全域資料夾上建立一個指向模組資料夾的符號鏈接,然後在您的應用程式資料夾中要求 npm 使用該符號連結資料夾。
這使得您在模組資料夾中所做的變更會立即反映在您的應用程式中。
以下是主要步驟(從下面連結的教程複製,請務必閱讀該教程以了解重要的問題):
- 光碟到
src/my_module
- 跑步 ”
npm link
」。這將建立從全域資料夾到該資料夾的符號連結src/my_module
。 - 光碟到
src/my_app
- 跑步
npm link my_module
。這會node_modules/my_module
在此特定專案中連結到全域資料夾,以便require
查找的呼叫my_module
最終會從您的開發資料夾src/my_module
.
請參閱本教學:http://justjs.com/posts/npm-link-developing-your-own-npm-modules-without-tears
以及官方文件npm link
:https://docs.npmjs.com/cli/link
答案3
早在 2010 年就有人要求此功能,但不幸的是被忽略並關閉:https://github.com/npm/npm/issues/340
我嘗試了很多選項,最後找到了一個非常簡單的解決方案 - 在執行 npm install 之前將 package.json 重命名為其他名稱,然後在安裝完成後將其恢復為:
mv package.json package.bak
npm install <package_name> --no-save
mv package.bak package.json
答案4
翻翻文件除了開關之外似乎沒有其他選擇--no-optional
。
未經測試/未經確認
此 SO 問答題為:npm install
透過網路安裝我的專案的所有依賴項,即使它們已安裝或可從快取中取得似乎暗示有一個--skip-installed
開關。但文件沒有提及此開關。