網站搜尋

javascript - 如何列出 npm 使用者安裝的套件?


我如何只列出 npm 中用戶安裝的/環境套件 only?

當我執行 npm -g list 時,它會輸出每個套件及其相依性。但我希望看到的是安裝在 當前 工作專案或環境中的套件。

答案#1

npm list -g --depth=0 --json
  • npm:Node.js 的套件管理命令列工具
  • list -g:顯示用戶資料夾中所有套件的樹狀結構(如果沒有 -g 選項,它只會顯示當前目錄的套件)
  • --depth 0/--depth=0:避免在樹狀檢視中包含每個套件的依賴項
  • --json(可選):這將輸出一個 JSON 物件,其中 dependencies 欄位包含用戶安裝的套件。

答案#2

你可以使用以下方式獲取所有全域安裝模組的列表:

ls `npm root -g`

答案#3

截至2015年12月13日

雖然我覺得被接受的答案是百分之百正確且有用的,但我希望根據我自己的經驗稍作擴充,也希望能對其他人有幫助。(在這裡,我將套件和模組這兩個術語互換使用)

作為對這個問題的回答,是的,被接受的答案是:

npm list -g --depth=0

您可能希望檢查特定模組是否已在全球範圍內安裝,在類 Unix 系統上或當可用 grep 時特別有用。這在檢查您正在使用的模組版本時尤其有用(全球安裝;如果檢查本地模組,只需移除 -g 標誌):

npm list -g --depth=0 | grep <module_name>

如果你想查看特定模組的所有可用(遠端)版本,請執行:

npm view <module_name> versions

注意,versions 是複數形式。這將給你完整的版本列表可供選擇。

查看最新的遠端版本:

npm view <module_name> version

注意,version 是單數。

要找出哪些套件需要更新,您可以使用:

npm outdated -g --depth=0

要更新全域套件,您可以使用

npm update -g <package>

要更新所有全域套件,您可以使用:

npm update -g

(不過,對於 npm 版本低於 2.6.1 的用戶,請也參考此連結,因為有一個建議用於全域更新所有套件的特殊腳本。)

上述命令應該適用於 NPM 版本 1.3.x、1.4.x、2.x 和 3.x。

答案#4

列出帶有友好圖形介面的 NPM 套件!

這是我個人偏好的方式,也可能適合其他人,也可能在簡報或會議中有所幫助。

使用 npm-gui,你可以更好地可視化地列出本地和全域套件。

你可以在這裡找到這個包裹

  • npm-gui (npm)
  • npm-gui (GitHub)

執行以下內容

// Once
npm install -g npm-gui

cd c:\your-prject-folder
npm-gui localhost:9000

然後在瀏覽器中打開 http:\localhost:9000

答案#5

對於專案依賴項使用:

npm list --depth=0

若要使用全域依賴項,請使用:

npm list -g --depth=0

答案#6

使用:

npm ls

npm list 只是 npm ls 的別名。

欲取得更多資訊,請使用:

npm la
npm ll

你可以總是在最後設置 --depth=0 來獲取第一層深度。

npm ls --depth=0

你可以檢查開發和生產套件。

npm ls --only=dev
npm ls --only=prod

以 json 格式顯示資訊

npm ls --json=true

預設值是 false

npm ls --json=false

你可以堅持使用長格式來顯示擴展資訊。

npm ls --long=true

你可以顯示可解析的輸出,而不是樹狀視圖。

npm ls --parseable=true

你可以列出全局安裝前綴中的套件,而不是列出當前專案中的套件。

npm ls --global=true
npm ls -g // shorthand

你可以在這裡找到完整的文件。

答案#7

截至2021年底,幾乎沒有明顯的方法來做到這一點。儘管其他所有答案仍然可行,我認為除了提供一個更明確和完整的可能命令清單之外,也需要更新,而既然我正在做這件事,我還為需要的人添加了一些其他常用命令(安裝、卸載等)。

Bare command
npm list
'ls' is an alias of list
npm ls
Don't show dependencies
npm list --depth=0
Global modules
npm list -g --depth=0
More info
npm la
npm ll
Show particular environment packages
npm ls --only=dev
npm ls --only=prod
Parseable view (tree view)
npm ls --parseable=true

關於這個問題,Node.js 的文件其實解釋得相當清楚。這是一個主要指令的彙總清單。

在開始之前,注意:


所有指令將在已安裝的模組列表上本地執行。若要在全域層級執行,只需在敘述末尾加上-g標誌。


列出已安裝的依賴命令

  1. 查看所有已安裝 npm 套件的版本,包括它們的相依套件。

    npm list
    
     >>> /Users/joe/dev/node/cowsay
     └─┬ [email 
       ├── [email 
       ├─┬ [email 
       │ ├── [email 
       │ └── [email 
       ├─┬ [email 
       │ ├── [email 
       │ └─┬ [email 
       │   └── [email 
       └── [email 
    
  2. 僅取得您的頂層套件

     npm list --depth=0
    
  3. 透過指定套件名稱來取得特定套件的版本。

     npm list <package-name>
    
  4. 查看 npm 存儲庫中該套件的最新可用版本

     npm view <package-name> version
    
  5. 使用 @ 語法安裝舊版本的 npm 套件

    npm install <package>@<version>
    npm install [email 
    
  6. 列出一個套件的所有先前版本

    npm view cowsay versions
    [ '1.0.0',
      '1.0.1',
      '1.0.2',
      '1.0.3',
      '1.1.0',
      '1.1.1',
      '1.1.2',
      '1.1.3',
      ....
    ]
    

更新所有 Node.js 依賴項

  1. 安裝新的次要或修補版本

     npm update
    
  2. 安裝新的次要或修補版本,但不要更新檔案 package.json

     npm update --no-save
    
  3. 要發現套件的新版本,這會給你一個清單,列出一個很久沒有更新的儲存庫中的一些過時套件

     npm outdated
    

其中一些更新是重大版本。執行 npm update 不會更新這些版本。重大版本永遠不會以這種方式更新,因為它們(按照定義)會引入重大變更,而 npm 希望為你避免麻煩。

要將所有套件更新到新的主要版本,請全域安裝 npm-check-updates 套件:

npm install -g npm-check-updates
ncu -u

這將升級 package.json 文件中所有版本提示,包括 dependencies 和 devDependencies,讓 npm 可以安裝新的主要版本


開發依賴

安裝在開發依賴中。

npm install <package-name> -D
npm install <package-name> --save-dev # The same as above

避免在生產環境中安裝那些開發依賴

npm install --production

卸載 npm 套件

npm uninstall <package-name>
npm uninstall -g <package-name> # Globally uninstall
  1. 卸載套件並移除 package.json 文件中的引用

      npm uninstall <package-name> -S
      npm uninstall <package-name> --save # The same as above
    

一些帶有全域標誌的指令範例。

npm list -g
npm list --depth=0 -g
npm list <package-name> -g
npm view <package-name> version -g

附加指令

  • 由 @prosti 回答

文件資料

  • 查找已安裝的 npm 套件版本
  • 安裝較舊版本的 npm 套件
  • 將所有 Node.js 依賴更新到最新版本
  • 使用 npm 的語義化版本控制
  • 卸載 npm 套件
  • npm 全域或本地套件
  • npm 依賴和開發依賴
  • npx Node.js 套件執行器目錄

答案#8

>= v7.0.0:

npm ls -g

< v7.0.0:

npm ls -g --depth=0

參考:

npm ls 預設只會列出第一層的依賴。你可以使用 --depth=<n> 設定特定層級來列出更多樹狀結構,或者使用 --all 列出所有依賴。

欲了解最新版本,請參見 npm 文件:npm-ls, depth

答案#9

一種方法可能是使用以下方式找到模組的根目錄:

npm root

輸出:

    /Users/me/repos/my_project/node_modules

然後列出該目錄...

ls /Users/me/repos/my_project/node_modules

輸出:

    grunt                   grunt-contrib-jshint

在這種情況下,使用者安裝的套件是 grunt 和 grunt-contrib-jshint。

答案#10

Node.js 有 本地 模組和 全域 模組的概念。

本地模組位於當前專案目錄中。

全域模組通常位於使用者的主目錄,不過我們可以更改全域模組所在的路徑。

  1. 列出當前目錄中的本地模組:npm list
  2. 列出全域模組:npm list --global 或 npm list --g /它將列出所有頂層模組及其依賴
  3. 僅列出頂層(已安裝 模組)的全域模組:npm list -g --depth=0

答案#11

使用 npm list -g 來獲取所有全局安裝的 npm 套件。

要取得目前專案的 npm 套件,你只能使用「npm list」.