node环境搭建、npm及pnpm安装
1.背景
最近换了笔记本,重新搭建了环境,顺手记录下脚本之类的,后续再遇到懒得一个个文件夹创建了。
2.node及npm安装
2.1 解压安装
我习惯安装的是解压版:点击此处下载
下载完成后,会得到压缩包,解压到指定位置即可。
例如,我放在了:
D:\toolkit\node\20.17.0
解压后的文件中,直接就有node
和npm
的执行文件,我们配置下环境变量即可。
加入我们可执行文件所在的路径(此处是D:\toolkit\node\20.17.0
),方便全局使用。
配置完成后,我们在任意地方就可以执行node和npm命令了。
node -v
npm -v
2.2 仓库位置
npm下载的包,设置存放位置。
配置项 | 命令 | 用途 |
---|---|---|
全局安装路径 | npm config set prefix | 设置 npm 的全局包安装路径 |
缓存路径 | npm config set cache | 设置 npm 的缓存路径 |
全局安装路径:
-
用于存放所有用户可以在命令行中访问的全局 npm 包。
例如,工具如
typescript
,webpack
等,安装后会存放在全局路径中,便于直接调用。 -
适用于需要在多个项目中共享的工具或库。
缓存路径:
-
用于存储已下载的 npm 包,以加速未来的安装过程。
当你安装一个包时,npm 会首先检查缓存,如果包已经在缓存中,npm 会直接从缓存中提取,避免再次下载。
-
通过使用缓存,能够节省带宽和时间,尤其是在重复安装相同依赖项时。
此处,我的仓库路径为:
D:\repository\npm-repository
配置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
镜像这块,建议收藏下阿里的镜像网站:阿里镜像站
右侧直接搜,常见的都有。
2.4 bin环境变量
咱们全局安装的命令记得也加到环境变量中去,例如下方的pnpm
、webpack
之类的,这样才方便任意位置执行。
例如:
D:\repository\npm-repository\global
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到目录去执行。
或者呢,带上完整路径。
D:\toolkit\jdk\jdk-19.0.2\bin\java -version
那么当我们把这个路径放到Path变量中的时候呢,操作系统就能知道,所以呢在任意位置都可以执行命令。
哎,你说跟你刚开始学java的时候操作的不一样呀,就搞了个path
不用搞那个JAVA_HOME
啊?
嗯,网上一般这样写,首先配置一个JAVA_HOME变量。
D:\toolkit\jdk\jdk-19.0.2
然后再在Path中加入:
%JAVA_HOME%\bin
其实只加path就够用了,只不过配置变量是一种好的实践。
比如下方这种,版本很多的时候,我更新JAVA_HOME的变量值就行了。
不管啥软件,各种各样的配置,原理基本都一样的。
4.2 实例
上面呢,先后3次加了Path。
- 第一次:是为了让你能方便全局使用node和npm命令
D:\toolkit\node\20.17.0
- 第二次:是为了让你能方便全局使用
npm -i -g
安装出来的命令,例如pnpm
。
D:\repository\npm-repository\global
- 第三次:是为了让你能方便全局使用pnpm安装出来的