node环境搭建、npm及pnpm安装

news/2024/11/15 1:52:32/文章来源:https://www.cnblogs.com/yang37/p/18423524

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 -vnpm -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
setlocalrem 定义仓库位置
set REPO_PATH=D:\repository\pnpm-repositoryset 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-storerem 创建文件夹
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 listecho 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安装出来的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/800837.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pnpm-配置环境目录(win脚本)

1.背景最近换了笔记本,重新搭建了环境。装完node后一般咱们会换到pnpm,这里记录下配置pnpm环境的脚本,懒得一个个文件夹创建了。文件夹名称 作用.pnpm-bin-dir 存放全局安装的可执行文件路径,方便在命令行中直接调用这些工具。.pnpm-cache 用于存储下载的包的缓存,加速后续…

大数据与人工智能-平台搭建准备之VM虚拟机与centos网络配置

一.前提(前提可以不看): 准备好需要的JDK,HADOOP,HIVE……等一些列组建安装包。 rpm -ivh –nodeps xxxx.rpm 可以强制安装本地xxxx软件包 为了提高虚拟机运行速度,可以关闭Cent os7的图形化界面:查看默认的target,执行:systemctl get-default开机以命令模式启动,执行…

游戏技术

目录显示相关的术语每个帧的像素:分辨率多个帧的刷新:刷新率、帧率每个像素的颜色编码码率显卡渲染技术DLSS2 牺牲画质 提高帧率DLSS3 进一步提高帧率 刷新更流畅 显示相关的术语 每个帧的像素:分辨率 分辨率 = 水平宽度的像素数(列数) x 垂直高度的像素数(行数)速记 分辨率…

痞子衡嵌入式:如果i.MXRT离线无法启动,试着分析ROM启动日志

大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是恩智浦i.MXRT系列MCU的ROM启动日志。关于 i.MX RT 启动问题解决的文章,痞子衡写过非常多,其中大部分都是具体到某一类启动设备下的具体问题分析,比较依赖经验,这些经验当然是非常有用的。此外也有一篇 《…

基于A律压缩的PCM脉冲编码调制通信系统simulink建模与仿真

1.算法运行效果图预览 (完整程序运行后无水印) 2.算法运行软件版本 matlab2022a3.部分核心程序 (完整版代码包含详细中文注释和操作步骤视频)4.算法理论概述脉冲编码调制(Pulse Code Modulation, PCM)是一种将模拟信号转换为数字信号的通信技术,广泛应用于电话通信、音频…

室内导航的界面该如何设计

室内导航的界面该如何设计?发点例子你看看

【笔记】机器学习算法在异常网络流量监测中的应用

这段时间在找方向,又看不懂文章,只能先从一些相对简单的综述类看起,顺便学学怎么写摘要相关工作的。机器学习算法在异常网络流量监测中的应用 原文:Detecting Network Anomalies in NetFlow Traffic with Machine Learning Algorithms 原文链接:Detecting Network Anomali…

画5.0

chino 最近摆烂过头了,博客都没有好好更新。 这位想必人尽皆知。

opencascade Bnd_OBB源码学习 OBB包围盒

opencascade Bnd_OBB OBB包围盒前言 类描述了定向包围盒(OBB),比轴对齐包围盒(AABB)更紧密地包围形状的体积。OBB由盒子的中心、轴以及三个维度的一半定义。与AABB相比,OBB在作为非干扰物体的排斥机制时可以更有效地使用。 方法 1. 空构造函数 //! 空构造函数 Bnd_OBB() …

Scala安装与环境配置详解教程

本文参考来源: http://mengmianren.com/zhihuishu2020/641069.htmlScala运行在java的JVM之上,因此需要先安装Java运行环境 一、JDK8的下载和安装及环境变量配置 使用的jdk版本是:jdk-8u191-windows-i586.exe https://pan.baidu.com/s/1RNNb7lcqKHC_2h0iiTlqFg?pwd=9t5e 提取…

day2-2

今天进行了一次小测验,仍与基础的增删改查有关。 题目的要求是通过Java写出一个建议系统,能够历遍输出各个数据,能够添加,删除,修改数据,能够根据编号查找到对应的数据。程序如下该程序能够完成这些要求,也具有一定的健全性。