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

本文链接:https://www.cnblogs.com/yang37/p/18423524.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析