npm 可以在父文件夹中安裝套件
了解如何解決使用 npm 安裝套件時可能遇到的問題
我在我的編程訓練營中遇到一些學生遇到了這個問題,這是我從未注意到的。
這是由於在空文件夾中安裝套件時 npm 的行為所導致的。
我建議使用 npm install <套件名稱>
來安裝套件,比如:
1 | npm install my-prime |
在一個空文件夾中安裝。
默認情況下,這會創建一個 package.json
文件,將套件作為依賴添加到其中,創建一個 package-lock.json
文件,並將套件安裝在 node_modules
文件夾中。
但是有一些人沒有看到這種情況發生。似乎什麼都沒發生。
事實上發生的是,他們在父文件夾中有一個 package.json
文件和一個 node_modules
文件夾。
也許不僅僅在父文件夾中,而是在更高的文件夾層級中。
也許他們在家目錄下運行了 npm install <套件>
但沒有意識到,可能是為了測試。
npm
會遍歷整個文件夾樹,檢查是否存在包含 package.json
文件或 node_modules
文件夾的文件夾。如果找到這樣的文件夾,則該文件夾將被視為運行 npm 命令的「當前目錄」。
要解決這個問題,最好的解決方法是刪除父文件夾中的 package.json
和 node_modules
文件夾。
這可能是一個錯誤。
另外,您還可以在文件夾中運行 npm init -y
命令,以創建一個空白的 package.json
文件,然後重新運行 npm install <套件>
命令,這時將會按預期運行。
tags: [“npm”, “package”, “json”, “package-lock”, “install”]