簡體   English   中英

為什么節點要全局安裝而不是本地安裝?

[英]Why is node installing globally instead of locally?

因此,我導航到我的項目目錄並運行npm install scrollama intersection-observer 它將文件安裝在我的HOME / node-modules上,而不是項目文件夾中。 但是,在安裝過程中會出現警告:

npm WARN saveError ENOENT: no such file or directory, open '[my-home]/package.json'
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN enoent ENOENT: no such file or directory, open '[my-home]/package.json'
npm WARN [my-user] No description
npm WARN [my-user] No repository field.
npm WARN [my-user] No README data
npm WARN [my-user] No license field.

那么,為什么要在全球范圍內(或在我的家中而不是在項目文件夾中)安裝它?

因為您的文件夾不是有效的npm安裝位置,所以找不到package.json 要創建它,只需運行:

 npm init

您沒有使用npm init npm init將初始化您的節點項目並創建一個package.json文件。 package.json文件將存儲有關項目的信息,例如項目名稱,版本,描述以及您下載的依賴項。 在您的情況下,沒有package.json文件,因此,您的軟件包已安裝到主目錄而不是當前目錄。

另外,您也可以使用-g之類的參數在沒有任何參數的情況下全局安裝軟件包(到主目錄),默認情況下,節點會將軟件包安裝在當前目錄中。

在本地安裝:您可以在項目中使用該軟件包。 全局安裝:您可以在任何地方使用該軟件包。 像nodemon這樣的命令是全局安裝的,因為您想在每個項目中使用它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM