开发环境搭建-3:配置 JavaScript 开发环境 (fnm+ nodejs + pnpm + nrm)
在 WSL 环境中配置:WSL2 (2.3.26.0) + Oracle Linux 8.7 官方镜像
node 官网:https://nodejs.org/zh-cn/download
点击【下载】,选择想要的 node 版本、操作系统、node 版本管理器、npm包管理器
根据下面代码提示依次执行对应代码即可

基本概念说明
- nodejs = 可以脱离浏览器在本地运行 js 代码的环境
= JS 解析器 + 一套用于与外部交互的底层接口(如网络、文件、存储等) - node 版本管理器:允许一台电脑上安装多个不同版本的 nodejs
–> 类比:使用 conda 或 uv 管理一台电脑上安装的多个 python 版本 - node 版本:当前使用版本管理器安装的版本
与 Linux 系统版本类似,有 LTS 版本和普通版本 - npm 包:js 中软件包的格式
–> 类比:python 中的 pip 包 - npm 包管理器:管理 npm 包的工具
–> 类比:python 中的 pip
推荐软件包选取
其实就是官网的默认推荐内容- node 版本:最新的 LTS 版本
- node 版本管理器:fnm
官网介绍(github 需要梯子):https://github.com/Schniz/fnm
使用 Rust 构建的最新一代 node 版本管理工具,轻量、速度快 - npm 包管理器:pnpm
官网介绍:https://pnpm.io/zh/
最新一代 npm 包管理器,支持缓存、文件链接等特性,性能强大且能减少依赖冗余
根据官网给出的安装教程安装
选取上面的组件,官网给出的代码(请以官网代码为准,这里只是做个参考)
总体安装顺序:nodeJS 管理器 --> 特定版本的 NodeJS --> 包管理器
# 1. 下载并安装 node 管理器,这里安装 fnm
# Download and install fnm:
curl -o- https://fnm.vercel.app/install | bash# 2. 更新 bash 终端,使 fnm 命令可用
source $HOME/.bashrc# 2. 使用 node 管理器安装特定版本的 nodejs
# Download and install Node.js:
fnm install 22# 3. 检验 node 是否安装成功
# Verify the Node.js version:
node -v # Should print "v22.13.1".# 4. 安装选定的 npm 包管理器,这里选 pnpm
# 实际上在 node 20 以后,node 自带了一个 corepack 插件用于管理 npm 包管理器
# Download and install pnpm:
corepack enable pnpm# 5. 检验 npm 包管理器是否安装正常
# Verify pnpm version:
pnpm -v
-
第一步(下载并安装 node 管理器)安装过程中需要系统安装有
curl、unzip软件- 如果没有安装会报 Missing 然后退出(以下是有 curl 但是缺少 unzip 的情况)

- 使用以下指令安装(以 WSL Oracle Linux 系统为例)
sudo dnf install unzip curl
- 如果没有安装会报 Missing 然后退出(以下是有 curl 但是缺少 unzip 的情况)
-
如果在 fnm install 和 corepack enable pnpm 时很慢,则可能是因为网络问题
- 需要配置梯子
- 也可配置 fnm 的代理和 corepack 的代理
一些配置
配置 fnm 国内镜像加速
使用清华源,参考配置:https://mirrors.tuna.tsinghua.edu.cn/help/nodejs-release/
官网配置是临时配置,重启/重新登录会失效

永久配置,修改用户环境配置文件
# 1. 打开文件
vim ~/.bashrc# 2. 文件最后添加以下内容
export FNM_NODE_DIST_MIRROR="https://mirrors.tuna.tsinghua.edu.cn/nodejs-release/"# 3. 保存文件# 4. 更新配置文件
source ~/.bashrc# 5. 之后就可以正常使用 fnm 了
配置 corepack 的国内镜像加速
根据官网文档进行配置:https://github.com/nodejs/corepack?tab=readme-ov-file#environment-variables

配置COREPACK_NPM_REGISTRY环境变量,指定从国内源中下载 npm 包管理器
-
临时配置:直接在终端输入
export命令export COREPACK_NPM_REGISTRY ="<软件源路径>"# 示例:使用腾讯源的路径 export COREPACK_NPM_REGISTRY="https://mirrors.cloud.tencent.com/npm/" -
永久配置:将
export指令放到/root/.bashrc配置文件中,并刷新配置# 1. 用文本编辑器打开 /root/.bashrc 配置文件 vim ~/.bashrc# 2. 添加这一行:将临时的指令固化为永久配置 # 配置示例参考上面的【临时配置】 export COREPACK_NPM_REGISTRY="<软件源路径>"# 3. 文件保存退出# 4. 刷新刚才修改的配置文件,使修改生效 source /root/.bashrc
pnpm 初始化配置
使用pnpm setup进行初始化设置
pnpm setup
执行完成的结果示例
执行完成后,需要依照执行结果,更新 bash(就是运行上面截图最后一行的指令 source XXX)
配置 pnpm 的国内镜像加速(使用 mrn 管理)
参考文章:https://ksh7.com/posts/npm-registry
使用 mrn 这个 npm 包进行镜像加速,这里配置的是阿里淘宝源
查看默认配置
pnpm config list

可看到软件源registry是国外的官网
使用包管理器(pnpm)安装nvm包
pnpm add -g nrm
- 如果遇到 Unable to find the global bin directory(无法找到全局软件包路径)这种问题

请参考上面的章节,先进行 pnpm 的初始化
安装成功示例(最后有个 Done,其中间没有 ERROR 提示)

运行nrm进行换源,相关指令
- 帮助:
mrn -h - 查看当前使用的源:
nrm current - 查看当前可替换的源:
nrm ls列表输出的左列为源名称

- 设置要使用的源:
nvm use 源名称
下面截图以taobao源为例

相关文章:
开发环境搭建-3:配置 JavaScript 开发环境 (fnm+ nodejs + pnpm + nrm)
在 WSL 环境中配置:WSL2 (2.3.26.0) Oracle Linux 8.7 官方镜像 node 官网:https://nodejs.org/zh-cn/download 点击【下载】,选择想要的 node 版本、操作系统、node 版本管理器、npm包管理器 根据下面代码提示依次执行对应代码即可 基本概…...
kotlin内联函数——let,run,apply,also,with的区别
一、概述 为了帮助您根据使用场景选择合适的作用域函数(scope function),我们将对它们进行详细描述并提供使用建议。从技术上讲,许多情况下范围函数是可以互换使用的,因此示例中展示了使用它们的约定俗成的做法。 1.…...
【深度学习|DenseNet-121】Densely Connected Convolutional Networks内部结构和参数设置
【深度学习|DenseNet-121】Densely Connected Convolutional Networks内部结构和参数设置 【深度学习|DenseNet-121】Densely Connected Convolutional Networks内部结构和参数设置 文章目录 【深度学习|DenseNet-121】Densely Connected Convolutional Networks内部结构和参数…...
数据结构与算法-要点整理
知识导图: 一、数据结构 包含:线性表(数组、队列、链表、栈)、散列表、树(二叉树、多路查找树)、图 1.线性表 数据之间就是“一对一“的逻辑关系。 线性表存储数据的实现方案有两种,分别是顺序存储结构和链式存储结构。 包含:数组、队列、链表、栈。 1.1 数组…...
Fort Firewall:全方位守护网络安全
Fort Firewall是一款专为 Windows 操作系统设计的开源防火墙工具,旨在为用户提供全面的网络安全保护。它基于 Windows 过滤平台(WFP),能够与系统无缝集成,确保高效的网络流量管理和安全防护。该软件支持实时监控网络流…...
Nginx实战技巧(Practical Tips for nginx)
引言 简介 Nginx(发音为 "engine-x")是一个高性能的HTTP和反向代理服务器. Nginx以其高并发处理能力、低资源消耗和灵活的配置而闻名,适用于高流量的Web服务器和应用程序。 Nginx的主要功能包括: HTTP服务器…...
YOLOv8:目标检测与实时应用的前沿探索
随着深度学习和计算机视觉技术的迅速发展,目标检测(Object Detection)一直是研究热点。YOLO(You Only Look Once)系列模型作为业界广受关注的目标检测框架,凭借其高效、实时的特点,一直迭代更新…...
解锁数字经济新动能:探寻 Web3 核心价值
随着科技的快速发展,我们正迈入一个全新的数字时代,Web3作为这一时代的核心构成之一,正在为全球数字经济带来革命性的变革。本文将探讨Web3的核心价值,并如何推动数字经济的新动能。 Web3是什么? Web3,通常…...
Lua 环境的安装
1.安装Lua运行环境 本人采用的是在windows系统中使用cmd指令方式进行安装,安装指令如下: winget install "lua for windows" 也曾使用可执行程序安装过,但由于电脑是加密电脑,最后都已失败告终。使用此方式安装可以安…...
Object类(2)
大家好,今天我们继续来看看Object类中一些成员方法,这些方法在实际中有很大的用处,话不多说,来看。 注:所有类都默认继承Object类的,所以可调用Object类中的方法,如equals,也可以发生…...
汽车网络信息安全-ISO/SAE 21434解析(中)
目录 第七章-分布式网络安全活动 1. 供应商能力评估 2. 报价 3. 网络安全职责界定 第八章-持续的网络安全活动 1. 网路安全监控 2. 网络安全事件评估 3. 漏洞分析 4. 漏洞管理 第九章-概念阶段 1. 对象定义 2. 网路安全目标 3. 网络安全概念 第十章 - 产品开发 第十…...
fatal error C1083: [特殊字符]ļ: openssl/opensslv.h: No such file or directory
一、环境 1. Visual Studio 2017 2. edk2:202305 3. Python:3.11.4 二、 fatal error C1083: 򿪰ļ: openssl/opensslv.h: No such file or directory 上图出现这个警告,不用管。 出现Done,说明编译成功。 执行上…...
C#System.Threading.Timer定时器意外回收注意事项
System.Threading.Timer定时器使用时会出现意外回收的情况。具体解释如下: 只要在使用 Timer,就必须保留对它的引用。对于任何托管对象,如果没有对 Timer 的引用,计时器会被垃圾回收。即使 Timer 仍处在活动状态,也会被回收。 实例对比测试 实例 定义两个类,其中一个…...
20.Word:小谢-病毒知识的科普文章❗【38】
目录 题目 NO1.2.3文档格式 NO4.5 NO6.7目录/图表目录/书目 NO8.9.10 NO11索引 NO12.13.14 每一步操作完,确定之后记得保存最后所有操作完记得再次删除空行 题目 NO1.2.3文档格式 样式的应用 选中应用段落段落→开始→选择→→检查→应用一个一个应用ctr…...
vue3底层原理和性能优化
Vue 3 在底层原理和性能优化方面做了许多改进,以下是一些主要的优化点和原理: 1. 虚拟 DOM 的改进 静态树提升:Vue 3 能够检测到静态组件(即不依赖响应式数据的组件)并将其提升到渲染函数之外,从而减少不…...
Ubuntu介绍、与centos的区别、基于VMware安装Ubuntu Server 22.04、配置远程连接、安装jdk+Tomcat
目录 ?编辑 一、Ubuntu22.04介绍 二、Ubuntu与Centos的区别 三、基于VMware安装Ubuntu Server 22.04 下载 VMware安装 1.创建新的虚拟机 2.选择类型配置 3.虚拟机硬件兼容性 4.安装客户机操作系统 5.选择客户机操作系统 6.命名虚拟机 7.处理器配置 8.虚拟机内存…...
金融级分布式数据库如何优化?PawSQL发布OceanBase专项调优指南
前言 OceanBase数据库作为国产自主可控的分布式数据库,在金融、电商、政务等领域得到广泛应用,优化OceanBase数据库的查询性能变得愈发重要。PawSQL为OceanBase数据库提供了全方位的SQL性能优化支持,助力用户充分发挥OceanBase数据库的性能潜…...
springboot 动态线程池
在Spring Boot中,可以使用ThreadPoolTaskExecutor类来创建动态线程池。以下是一个示例: 首先,需要在配置文件中配置线程池的属性,例如最小线程数、最大线程数、线程存活时间等。可以在application.properties或application.yml中…...
【PySide6快速入门】qrc资源文件的使用
文章目录 PySide6快速入门:qrc资源文件的使用前言什么是qrc文件?qrc文件的作用: qrc文件可以干什么?如何创建qrc文件?1. 创建.qrc文件2. 使用rcc工具编译.qrc文件 如何引用qrc文件并使用资源?示例代码&…...
【creo】CREO配置快捷键方式和默认单位
了解CREO工作目录设置 设置快捷方式启动目录,就能自动加载其中的配置。 一、通过键盘快捷方式 保存配置 creo_parametric_customization.ui 文件: 二、通过映射键录制 通过这种方式可以监听鼠标的点击事件。使用键盘快捷方式无法找到需要的动作时候可…...
Java集合判空全攻略:从原生方法到Apache Commons工具类对比
Java集合判空全攻略:从原生方法到Apache Commons工具类对比 在Java开发中,集合判空是最基础却又最容易出错的环节之一。一个看似简单的判空操作,背后可能隐藏着NPE风险、性能损耗甚至逻辑漏洞。本文将深入剖析Java原生判空方法与Apache Commo…...
数据库运维与数据安全:备份恢复、日志分析与故障排查
下面的内容大家根据实际情况,公司的业务还有重点择机选择,不是所有的蓝翔都有挖掘机 如果说之前的索引优化是“飙车”,那么今天的主题就是“系安全带”和“买保险”。 在运维的世界里,没有“如果”,只有“万一”。当…...
如祺出行2025年营收53亿:网约车贡献97%收入 净亏2.9亿
雷递网 乐天 4月1日如祺出行科技有限公司(股份代号:9680)日前发布截至2025年12月31日的财报。财报显示,如祺出行2025年营收为52.86亿元,较上年同期的24.63亿元增长114.6%。如祺出行收入主要来自网约车服务,…...
新手福音:通过快马平台零代码基础理解qun329群聊应用开发
作为一个刚接触编程的新手,想要理解群聊应用开发确实容易一头雾水。最近我在尝试用InsCode(快马)平台搭建类似qun329的简单群聊网页时,发现整个过程比想象中简单很多。下面分享我的学习过程,希望能帮到同样零基础的朋友。 项目结构规划 首先明…...
无片外电容的LDO电路设计手册:完整IP现成电路,包含过温与过流保护、带隙与BUFFER,性能...
无片外电容LDO电路设计 完整IP现成电路,具有过温保护和过流保护,带隙,BUFFER都有 性能指标已流片验证 同时有相关文献、各模块电路功能分析简化计算笔记,适合学习入门不适合纵向可以附赠一些自己学习时觉得比较有帮助的资料。 有好…...
珠海内有哪些做专精特新,创新型中小企业。权代理事务通过率高
在珠海,众多专精特新、创新型中小企业在发展过程中,知识产权代理事务变得尤为重要,而珠海飞拓知识产权代理事务凭借其独特优势,成为了高通过率的代表。企业痛点催生专业服务在专精特新、创新型中小企业培育与申报过程中࿰…...
Python原生AOT编译2026架构设计图(含C-API二进制兼容性矩阵+GC停顿压缩至≤80μs实证)
第一章:Python原生AOT编译2026架构全景概览Python原生AOT(Ahead-of-Time)编译在2026年已演进为一套融合语言语义、运行时契约与硬件感知能力的系统级基础设施。它不再依赖传统解释器或JIT中间态,而是通过静态类型推导、控制流图全…...
基于Wan 3D Causal VAE(Show-o2)的模型,重新完整地分析 10分钟的视频 对应多少 vison token
可以。这次我按 Show-o2 官方 432432 配置 和 Wan 3D Causal VAE 的公开时间压缩规则,把 10B token 且全部都是 vision token 的情况重新完整算一遍。下面的“大小”我统一按 未压缩 RGB 原始数据量 来算;如果你问的是实际 JPG / PNG / MP4 落盘大小,那会随压缩格式、码率和…...
国内专业的铣打机厂家哪家专业
在制造业蓬勃发展的今天,铣打机作为轴类零件加工的关键设备,其性能和质量直接影响着生产效率和产品质量。面对市场上众多的铣打机厂家,该如何选择一家专业可靠的呢?今天就为大家介绍一家在行业内颇具口碑的企业——无锡通亚数控智…...
2025最权威的十大AI学术神器推荐榜单
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 于人工智能生成内容也就是AIGC愈发普及的当前情形下,把它的机械痕迹以及同质化特…...
