了解如何解決使用 npm 安裝套件時可能遇到的問題

我在我的編程訓練營中遇到一些學生遇到了這個問題,這是我從未注意到的。

這是由於在空文件夾中安裝套件時 npm 的行為所導致的。

我建議使用 npm install <套件名稱> 來安裝套件,比如:

npm install my-prime

在一個空文件夾中安裝。

默認情況下,這會創建一個 package.json 文件,將套件作為依賴添加到其中,創建一個 package-lock.json 文件,並將套件安裝在 node_modules 文件夾中。

但是有一些人沒有看到這種情況發生。似乎什麼都沒發生。

事實上發生的是,他們在父文件夾中有一個 package.json 文件和一個 node_modules 文件夾。

也許不僅僅在父文件夾中,而是在更高的文件夾層級中。

也許他們在家目錄下運行了 npm install <套件> 但沒有意識到,可能是為了測試。

npm 會遍歷整個文件夾樹,檢查是否存在包含 package.json 文件或 node_modules 文件夾的文件夾。如果找到這樣的文件夾,則該文件夾將被視為運行 npm 命令的「當前目錄」。

來源

要解決這個問題,最好的解決方法是刪除父文件夾中的 package.jsonnode_modules 文件夾。

這可能是一個錯誤。

另外,您還可以在文件夾中運行 npm init -y 命令,以創建一個空白的 package.json 文件,然後重新運行 npm install <套件> 命令,這時將會按預期運行。