是否可以選擇安裝沒有相依性的 npm 套件?

是否可以選擇安裝沒有相依性的 npm 套件?

我正在嘗試修改具有多個依賴項的 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 使用該符號連結資料夾。

這使得您在模組資料夾中所做的變更會立即反映在您的應用程式中。

以下是主要步驟(從下面連結的教程複製,請務必閱讀該教程以了解重要的問題):

  1. 光碟到src/my_module
  2. 跑步 ” npm link」。這將建立從全域資料夾到該資料夾的符號連結src/my_module
  3. 光碟到src/my_app
  4. 跑步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 linkhttps://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開關。但文件沒有提及此開關。

相關內容