簡體   English   中英

Npm標准安裝的Node.js與Npm的全局安裝

[英]Node.js with Npm standard installation vs global installation of Npm

我已經從他們的網站上安裝了node.js v8.11.3 ,它內置了npm v5.6

這些文件在我的“ program files \\ nodejs”文件夾中。

但是最近我知道我可以跑步:

npm install -g npm @"some version (upgrade or downgrade)"

然后將在全球范圍內安裝另一個版本,這些文件將位於我的“%appdata%\\ npm \\ node_modules \\”文件夾中。

問題1:

如果這樣做,在VSCode Terminal上運行下一個npm命令時會發生什么? 那我將使用哪個版本? 全局版本會覆蓋內置版本嗎?

問題2:

而且,如果我在一個項目中本地安裝npm會怎樣? 本地版本是否也覆蓋內置版本? 它也會覆蓋任何全局版本嗎?

問題3:

使用npm安裝npm感覺很奇怪。 這很常見嗎?

謝謝。

問題1:如果這樣做,在VSCode終端上運行下一個npm命令時會發生什么? 那我將使用哪個版本? 全局版本會覆蓋內置版本嗎?

當您在Windows上安裝軟件並嘗試從控制台使用命令時,它將獲取您正在運行的命令的名稱,並在Windows的PATH環境變量中查找運行命令時要查找的文件夾列表。 如果要像您所說的那樣運行npm install -g npm ,則在終端上運行的NPM版本將是出現在PATH環境變量中的第一個版本。

問題2:而且,如果我在一個項目中本地安裝npm會怎樣? 本地版本是否也覆蓋內置版本? 它也會覆蓋任何全局版本嗎?

由於您的PATH環境變量可能不會擴展到項目中的node_modules文件夾,因此它可能不會更改任何內容。 本地安裝的節點模塊本質上是本地的,這意味着它們很少與文件夾外的任何東西交互,因此必須調用它們。

問題3:使用npm安裝npm感覺很奇怪。 這很常見嗎?

我不能說這很普遍。 我懷疑大多數節點開發人員會經常自行安裝npm。 如果這樣做,他們可能不會通過已經正常工作的npm來這樣做。 但是,您可以使用npm update通過npm 更新所有已安裝的軟件包,包括npm本身。

基本上根據文檔,我將對兩個問題有一個答案:

如果要安裝要在程序中使用的東西,請使用require('whatever'),然后在項目的根目錄本地安裝。 如果要在外殼程序中安裝要使用的東西,在命令行或其他東西上,請全局安裝它,以便其二進制文件最終位於PATH環境變量中。

這里的文件

暫無
暫無

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

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