node環境搭建、npm及pnpm安裝

羊37發表於2024-09-21

1.背景

最近換了筆記本,重新搭建了環境,順手記錄下指令碼之類的,後續再遇到懶得一個個資料夾建立了。

2.node及npm安裝

2.1 解壓安裝

我習慣安裝的是解壓版:點選此處下載

image-20240921034245368

下載完成後,會得到壓縮包,解壓到指定位置即可。

image-20240921034440351

例如,我放在了:

D:\toolkit\node\20.17.0

image-20240921034600327

解壓後的檔案中,直接就有nodenpm的執行檔案,我們配置下環境變數即可。

加入我們可執行檔案所在的路徑(此處是D:\toolkit\node\20.17.0),方便全域性使用。

image-20240921034730723

配置完成後,我們在任意地方就可以執行node和npm命令了。

node -v

npm -v

image-20240921034932840

2.2 倉庫位置

npm下載的包,設定存放位置。

配置項 命令 用途
全域性安裝路徑 npm config set prefix 設定 npm 的全域性包安裝路徑
快取路徑 npm config set cache 設定 npm 的快取路徑

全域性安裝路徑

  • 用於存放所有使用者可以在命令列中訪問的全域性 npm 包。

    例如,工具如typescript, webpack 等,安裝後會存放在全域性路徑中,便於直接呼叫。

  • 適用於需要在多個專案中共享的工具或庫。

快取路徑

  • 用於儲存已下載的 npm 包,以加速未來的安裝過程。

    當你安裝一個包時,npm 會首先檢查快取,如果包已經在快取中,npm 會直接從快取中提取,避免再次下載。

  • 透過使用快取,能夠節省頻寬和時間,尤其是在重複安裝相同依賴項時。


此處,我的倉庫路徑為:

D:\repository\npm-repository

image-20240921035231242

配置npm倉庫位置:

npm config set prefix "D:\repository\npm-repository\global"

npm config set cache "D:\repository\npm-repository\cache"

2.3 配置映象

npm config set registry https://registry.npmmirror.com

映象這塊,建議收藏下阿里的映象網站:阿里映象站

右側直接搜,常見的都有。

image-20240921035948695

image-20240921040028793

2.4 bin環境變數

咱們全域性安裝的命令記得也加到環境變數中去,例如下方的pnpmwebpack之類的,這樣才方便任意位置執行。

image-20240921040628482

例如:

D:\repository\npm-repository\global

image-20240921040739666

3.pnpm安裝

3.1 命令安裝

# 透過npm全域性安裝pnpm
npm install -g pnpm

3.2 倉庫位置

資料夾名稱 作用
.pnpm-bin-dir 存放全域性安裝的可執行檔案路徑,方便在命令列中直接呼叫這些工具。
.pnpm-cache 用於儲存下載的包的快取,加速後續的安裝過程,避免重複下載。
.pnpm-global 存放全域性安裝的 npm 包,便於管理和查詢全域性依賴。
.pnpm-state 儲存 pnpm 的狀態資訊,包括安裝狀態和後設資料,幫助管理包的狀態。
.pnpm-store 作為 pnpm 的包儲存目錄,儲存已下載的包及其版本,以支援不同專案之間的複用。

這裡資料夾有點多,可以直接用下面的指令碼,修改下第5行處REPO_PATH對應的倉庫路徑就行。

@echo off
setlocal

rem 定義倉庫位置
set REPO_PATH=D:\repository\pnpm-repository

set BIN_DIR=%REPO_PATH%\.pnpm-bin-dir
set CACHE_DIR=%REPO_PATH%\.pnpm-cache
set GLOBAL_DIR=%REPO_PATH%\.pnpm-global
set STATE_DIR=%REPO_PATH%\.pnpm-state
set STORE_DIR=%REPO_PATH%\.pnpm-store

rem 建立資料夾
mkdir "%BIN_DIR%"
mkdir "%CACHE_DIR%"
mkdir "%GLOBAL_DIR%"
mkdir "%STATE_DIR%"
mkdir "%STORE_DIR%"

rem 配置 pnpm 路徑
pnpm config set global-bin-dir "%BIN_DIR%"
pnpm config set cache-dir "%CACHE_DIR%"
pnpm config set global-dir "%GLOBAL_DIR%"
pnpm config set state-dir "%STATE_DIR%"
pnpm config set store-dir "%STORE_DIR%"

rem 驗證 pnpm 配置
pnpm config list

echo All directories created and pnpm configured successfully.
pause

3.3 配置映象

pnpm config set registry https://registry.npmmirror.com

3.3 bin環境變數

方便透過pnpm安裝的bin檔案可以全域性執行,記得在path中新增下環境變數,位置指到.pnpm-bin-dir

例如:

D:\repository\pnpm-repository\.pnpm-bin-dir

4.擴充套件:環境變數與PATH

4.1 介紹

Path 是一個特定的環境變數,它包含一組目錄路徑,作業系統會在這些目錄中查詢可執行檔案。

比如我下方有個java,啥都不配置的時候呢,我要麼cd到目錄去執行。

image-20240921041731556

或者呢,帶上完整路徑。

D:\toolkit\jdk\jdk-19.0.2\bin\java -version

image-20240921041709861

那麼當我們把這個路徑放到Path變數中的時候呢,作業系統就能知道,所以呢在任意位置都可以執行命令。

哎,你說跟你剛開始學java的時候操作的不一樣呀,就搞了個path不用搞那個JAVA_HOME啊?

嗯,網上一般這樣寫,首先配置一個JAVA_HOME變數。

D:\toolkit\jdk\jdk-19.0.2

然後再在Path中加入:

%JAVA_HOME%\bin

其實只加path就夠用了,只不過配置變數是一種好的實踐。

比如下方這種,版本很多的時候,我更新JAVA_HOME的變數值就行了。

不管啥軟體,各種各樣的配置,原理基本都一樣的。

image-20240921042339567

4.2 例項

上面呢,先後3次加了Path。

  • 第一次:是為了讓你能方便全域性使用node和npm命令
D:\toolkit\node\20.17.0

image-20240921041025343

  • 第二次:是為了讓你能方便全域性使用npm -i -g安裝出來的命令,例如pnpm
D:\repository\npm-repository\global

image-20240921041312952

  • 第三次:是為了讓你能方便全域性使用pnpm安裝出來的

相關文章