Win10安裝配置Node.js
一、前言
重裝系統后根據網上的教程重新安裝Nodejs,有了自己的理解。記錄整個過程,減少以后再次安裝時查閱資料的麻煩😊。
操作環境:Windows 10專業版,版本號21H2,操作系統內部版本19044.1526
二、內容
1.下載Nodejs
前往官網下載即可,這里依舊選擇了64位免安裝版。(演示時所用軟件包已在文章最后給出)
注:優先下載LTS(Long Term Support,長期支持)版本,更為穩定。
2.解壓至合適位置
此處依然是將其移動到D盤下的App目錄中。
3.新建文件夾
在軟件的根目錄下新建一個文件夾node_cache,用於存放npm的緩存文件(這些文件默認存放在系統盤下的用戶文件夾內)。
4.設置環境變量
- 將nodejs的根目錄加入到系統變量path中。
-
新建一個系統變量NODE_PATH,值為nodejs根目錄\node_modules。
注:NODE_PATH為nodejs默認加載的模塊路徑,詳細介紹可參考文章nodejs中的NODE_PATH。
最后的環境變量設置情況:
5.檢驗Nodejs和npm的安裝情況
在cmd下運行如下命令
node -v #查看nodejs版本
npm -v #查看npm版本
若正確輸出版本信息,說明環境變量設置正確。
6.修改配置
注:在cmd內執行 npm config ls -l 命令可查看npm的默認配置
從上圖中可以看出,npm的默認cache目錄為C:\Users\hsy\AppData\Local\npm-cache,如下圖所示。
npm默認緩存在系統分區,故對其進行修改。以管理員身份運行cmd命令行程序,執行如下命令即可。
npm config set cache=nodejs安裝目錄\node_cache #注意cache和路徑之間直接用“=”相連,無空格
注:以管理員身份運行cmd
Win+Q喚出搜索框,輸入cmd。
選擇以管理員身份運行
注:npm模塊包的兩種安裝方式
-
本地安裝
默認安裝在當前路徑的node_modules文件夾內,可在cmd下運行 npm root 命令查看安裝路徑。
-
全局安裝
安裝在統一的路徑中(默認為nodejs配置的prefix目錄下的node_modules文件夾)
在cmd下運行 npm config get prefix 命令可獲取prefix的值;在cmd下運行 npm root -g 命令可查看全局安裝路徑。
7.檢查配置情況
- 初始情況:nodejs僅全局安裝了corepack和npm兩個模塊。
-
測試本地安裝
在D盤根目錄新建一個文件夾,命名為test。
進入該目錄,在cmd下運行命令 npm install express 安裝一個express模塊,最終效果如下:
-
測試全局安裝
任意目錄下進入cmd,運行命令 npm install express -g ,最終效果如下:
-
測試全局安裝模塊的效果
從檢驗效果來看,nodejs和npm的配置基本上成功了。
8.其他
-
刪除模塊
-
刪除全局模塊: npm uninstall -g 模塊名 ,效果如下:
-
刪除本地模塊: npm uninstall 模塊名 ,效果如下:
-
-
加速下載
npm默認去國外鏡像站下載所需模塊,速度可能不理想。將下載源修改為國內鏡像(如阿里的鏡像),可加快下載速度,改善體驗。
#臨時使用 npm install 模塊名 --registry=https://registry.npm.taobao.org #永久使用,將如下命令執行一次即可 npm config set registry=https://registry.npm.taobao.org
效果如下:
-
臨時使用
-
永久使用
-
三、總結
此次安裝和配置nodejs時,沒有完全根據網上的教程去安裝和配置。自己還是喜歡解壓配置后就能用的版本,這樣更方便😋。網上的教程都說要新建node_global和node_cache兩個文件夾,然后修改對應的npm配置,並修改環境變量。但自己在操作的時候,出於自己的理解,只建了一個文件夾,然后環境變量的設置也有不同。盡管這樣,但最后是可以正常使用的。自己這次探索學到了不少內容,增進了對nodejs的認識,同時自己獨特的配置方式也方便了以后自己的使用😄。
附錄:
本文所用nodejs軟件包:https://www.123pan.com/s/M6VA-odAIh ,提取碼:0mtF。
參考鏈接:
操作時全局安裝webpack-cli模塊后,會出現使用 npm ls -g 命令查看已安裝的全局模塊時不顯示webpack-cli的問題,但是不影響webpack-cli在cmd下的命令使用。
有關這個問題,可參考文章 npm ls -g的一個疑問。以后如果使用中遇到問題,再來修改😉。