cmd powershell svm nodejs npm

一、cmd 和 powershell

  1. cmd:基于旧的 MS-DOS 命令接口,使用批处理语言(Batch)
  2. powershell:基于 .NET 框架,使用 PowerShell 脚本语言(基于 AST,更强大)
  3. 一句话简单总结:CMD 是基础,PowerShell 是进阶。如果你只是偶尔使用命令行,CMD 足够;但如果你想管理 Windows 系统、自动化任务或进行开发,PowerShell 是更强大、更安全的选择。

二:nvm、nodejs、npm

  1. Nvm:
    nvm官方网站链接
    nvm 是 Node Version Manager 的缩写。它是一个工具,用于方便地在你的计算机上安装和切换不同版本的 Node.js(以及通常也包含 npm)。
  • 核心功能:
    安装多个 Node.js 版本: 不同的项目可能需要不同版本的 Node.js,nvm 允许你轻松安装它们。
    在不同版本之间切换: 只需一个命令,就可以切换当前项目使用的 Node.js 版本。
    管理 Node.js 和 npm 的环境: 通常 nvm 安装的 Node.js 和 npm 是隔离的,不会互相干扰。
  • 作用:
    解决了 Node.js 版本管理的痛点,避免了因版本冲突导致的开发问题,提高了开发效率和环境的可移植性。
  • 比喻:
    就像一个智能的车库和管理软件。它管理着你的"汽车"(Node.js 版本),让你可以方便地选择使用哪辆"车"(哪个版本)来开(开发)。
  1. Node.js
    nodejs官方网站链接
    nodejs是一个免费、开源、跨平台的 JavaScript 运行时环境,它让开发人员能够创建服务器、 Web 应用、命令行工具和脚本
  • 核心功能:
    它包含了一个 JavaScript 引擎(如 V8,Chrome 的引擎)和大量的内置模块(如用于处理文件系统、网络请求、事件处理等的模块)。
  • 作用:
    提供了一个平台,让你可以使用 JavaScript 来构建服务器端应用程序、命令行工具、桌面应用(通过像 Electron 这样的框架)等。
  • 比喻:
    就像汽车本身。你需要一个引擎(JavaScript)和底盘(Node.js 提供的基础)才能让汽车(程序)运行。
  1. Npm
    npm 是 Node.js 的包管理器。它是一个命令行工具,用于安装、更新、卸载和管理 Node.js 应用程序及其依赖项(即第三方库)。
  • 核心功能:
    安装 Node.js 包: 从一个巨大的在线仓库(名为 npm registry)下载并安装代码库。
    管理依赖关系: package.json 文件记录了项目依赖哪些包以及需要哪些版本。npm install 会读取这个文件并安装所有依赖。
    脚本执行: npm 可以在 package.json 中定义并运行脚本(如 npm start 启动应用,npm test 运行测试)。
  • 作用:
    提供了一种标准化的方式来获取和管理 JavaScript 库,极大地促进了代码的复用和协作。它也是 Node.js 应用程序的标准组成部分。
  • 比喻:
    就像汽车的加油站、维修站和零部件商店。你可以在上面加油(安装包)、修理(管理依赖)、获取配件(安装特定库)。
  • npm和node版本是相互对应的,这个在node官网里找到某一个版本可以就可以查看相应所需的npm版本。
  1. 总结:
  • Node.js 是运行 JavaScript 代码的基础平台。
  • npm 是 Node.js 的包管理工具,用于获取和管理第三方 JavaScript 库。
  • nvm 是一个辅助工具,用于方便地安装、切换和管理不同版本的 Node.js(通常也管理对应的 npm 版本)。

三、相应指令
在这里插入代码片windows 端编译运行C/C++的程序需要一套集成开发环境,这里可以使用MinGWhttps://nuwen.net/mingw.html,选择自己需要的安装包安装。

cpp 复制代码
//下载并安装好nvm

//-------打开powershell进行如下操作------------

nvm --version                        //查看nvm版本

nvm install node                     //安装最新 LTS 版本
nvm install 25.2.1                   //安装指定版本(例如 25.2.1)
nvm install --lts                    //安装特定版本并设为默认

nvm list                             //列出已安装的版本
nvm use 25.2.1                       //切换到指定版本
nvm uninstall 14.20.1                //卸载指定版本(该指令作为补充指令,此处不执行)

node -v                             //查看刚刚安装的node版本
npm -v                              //查看刚刚安装的node自带安装的npm版本,报错npm : 无法加载文件 C:\nvm4w\nodejs\npm.ps1,因为在此系统上禁止运行脚本。
//这是因为powershell的安全限制更严格,有执行策略防止恶意脚本运行,使用Set-ExecutionPolicy控制脚本执行权限,默认不允许本地脚本执行。
//一般遇到推荐直接将powershell权限进行更改,但我目前还不想更改,所以我就直接在cmd里执行npm -v里查看了。

//更改powershell权限的方法
方法 1:临时修改执行策略(重启后失效)
以管理员身份打开 PowerShell:
在 Windows 搜索栏中输入 "PowerShell",右键点击 "Windows PowerShell",选择 "以管理员身份运行",运行以下命令:

# 查看当前执行策略
Get-ExecutionPolicy
# 临时修改为允许所有脚本(仅此会话有效)
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted

测试 npm 命令:
npm -v

完成后恢复执行策略(建议操作):
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned

方法 2:永久修改执行策略(推荐)
打开 PowerShell 并运行:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force

确认更改:
Get-ExecutionPolicy -Scope CurrentUser
相关推荐
Restart-AHTCM5 小时前
LangChain学习之模型 I/O 与输出解析器 (Output Parsers)(3/8)
前端·学习·langchain
lqj_本人6 小时前
鸿蒙PC:electron-markdownify 从普通 Electron 迁移到 OpenHarmony Electron HAP 的完整实践
前端·javascript·electron
代码搬运媛14 小时前
Jest 测试框架详解与实现指南
前端
counterxing14 小时前
Agent 跑起来之后,难的是复用、观测和评测
node.js·agent·ai编程
counterxing15 小时前
我把 Codex 里的 Skills 做成了一个 MCP,还支持分享
前端·agent·ai编程
wangqiaowq15 小时前
windows下nginx的安装
linux·服务器·前端
之歆15 小时前
DAY_12JavaScript DOM 完全指南(二):实战与性能篇
开发语言·前端·javascript·ecmascript
发现一只大呆瓜15 小时前
Vite凭什么这么快?3分钟带你彻底搞懂 Vite 热更新的幕后黑手
前端·面试·vite
Maimai1080815 小时前
React如何用 @microsoft/fetch-event-source 落地 SSE:比原生 EventSource 更灵活的实时推送方案
前端·javascript·react.js·microsoft·前端框架·reactjs·webassembly
kyriewen17 小时前
产品经理把PRD写成“天书”,我用AI半小时重写了一遍,他当场愣住
前端·ai编程·cursor