windows操作系统通过nvm安装pm2,并解决不是内部或外部命令的解决方案

news/2024/11/20 8:44:31/文章来源:https://www.cnblogs.com/futureba/p/18346477

在Windows环境中安装nvm(Node Version Manager,Node版本管理器)的步骤如下:

一、下载nvm
访问nvm的GitHub发布页面:
前往nvm-windows的GitHub发布页面下载最新版本的nvm安装包。https://github.com/coreybutler/nvm-windows/releases
下载nvm安装包:
在发布页面中找到适合您系统的安装包,通常是.exe格式的文件,如nvm-setup.exe。
二、安装nvm
双击安装包:
双击下载好的nvm安装包(如nvm-setup.exe)开始安装过程。
接受许可协议:
在安装过程中,会出现许可协议界面,选择“我接受”并点击“Next”继续。
选择安装路径:
选择nvm的安装路径。注意,路径名称中不应包含空格或特殊字符,以避免后续问题。
设置node.js安装路径:
指定Node.js的安装路径,或者选择让nvm自动管理。
完成安装:
点击“Install”开始安装,安装完成后点击“Finish”退出安装程序。
三、配置环境变量(可选,但通常nvm安装后会自动配置)
虽然nvm安装后通常会自动配置环境变量,但您也可以手动检查和配置:

  1. 打开系统属性:
    • 右键点击“此电脑”或“我的电脑”,选择“属性”,然后点击“高级系统设置”。
  2. 编辑环境变量:
    • 在系统属性窗口中,点击“环境变量”按钮。
  3. 检查并配置Path变量:
    • 在系统变量区域找到Path变量,并检查是否包含了nvm的安装路径和Node.js的链接路径(如%NVM_SYMLINK%)。
  4. 新建环境变量(如果需要):
    • 如果需要,可以新建环境变量NVM_HOME,其值为nvm的安装路径。


四、验证安装

  1. 打开命令提示符:
    • 按下Win + R键,输入cmd,然后回车打开命令提示符。
  2. 检查nvm版本:
    • 在命令提示符中输入nvm -v,如果返回了nvm的版本号,则表示nvm已成功安装。


五、使用nvm安装Node.js

安装nvm后,您可以使用nvm来安装和管理不同版本的Node.js:

  1. 查看可安装的Node.js版本:
    • 输入nvm list available查看所有可安装的Node.js版本。
  2. 安装指定版本的Node.js:
    • 使用nvm install <version>命令安装指定版本的Node.js,例如nvm install 16.18.0
  3. 切换Node.js版本:
    • 使用nvm use <version>命令切换到指定版本的Node.js,例如nvm use 16.18.0

PM2(Process Manager 2)是一个强大的进程管理器,专为Node.js应用程序设计。它提供了负载均衡、日志管理、监控、自动重启、集群模式等功能,旨在帮助开发者更轻松地部署和管理他们的Node.js应用。

主要功能

  1. 自动重启:当应用程序崩溃时,PM2会自动重启它,确保服务的持续可用性。
  2. 负载均衡:在集群模式下,PM2可以管理多个Node.js进程,并自动分配请求到这些进程,以实现负载均衡。
  3. 日志管理:PM2提供了一个统一的日志系统,可以轻松地查看和管理应用程序的日志输出。
  4. 监控:PM2提供了实时的应用程序监控功能,包括CPU和内存使用情况等。
  5. 模块系统:PM2支持通过模块扩展其功能,例如与日志系统(如Loggly、Papertrail)集成。
  6. 生态系统文件:通过ecosystem.config.js文件,可以方便地配置和管理多个应用程序及其环境变量。

在Windows环境下,如果遇到pm2下载成功但在执行时提示“'pm2' 不是内部或外部命令,也不是可运行的程序或批处理文件”,这通常表明pm2的安装路径没有被添加到系统的环境变量中。为了解决这个问题,可以按照以下步骤操作:

1.全局安装pm2:
确保pm2是以全局模式安装的,这样它就能在系统任何位置被访问。你可以通过npm(Node.js的包管理器)来全局安装pm2。打开命令提示符(CMD)或PowerShell,并运行以下命令:

npm install pm2 -g

2.配置环境变量:
如果全局安装后仍然出现命令找不到的问题,可能是因为Node.js的全局包安装目录没有被添加到系统的环境变量中。

如果通过nvm管理的node,路径大概如下:

D:\安装路径\nvm\v20.10.0\node_global

其它参考,手动添加这个目录到环境变量中。
找到Node.js的全局包安装目录。这通常是%APPDATA%\npm\node_modules路径下的某个位置,但确切位置可能因Node.js版本和安装方式而异。你可以通过运行npm config get prefix命令来查找npm的全局目录,通常pm2会安装在这个目录下的node_modules\pm2中。
接下来,将包含pm2可执行文件的目录(即%APPDATA%\npm\node_modules\.bin)添加到系统的环境变量中。你可以通过“系统属性” -> “高级” -> “环境变量”来编辑环境变量,并在“系统变量”区域找到并编辑Path变量,添加新的目录路径。

3.验证pm2安装:
有时候需要重启电脑,打开一个新的命令提示符或PowerShell窗口,输入pm2 -v(或pm2 --version)来验证pm2是否已正确安装并可在任何地方执行。如果返回了pm2的版本号,则表示你已成功配置并可以使用pm2了。

PM2是Node.js开发者不可或缺的工具之一,它极大地简化了Node.js应用的部署和管理过程。

 

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

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

相关文章

MySQL UDF 提权初探

MySQL UDF 提权初探 对 MySQL UDF 提权做一次探究,什么情况下可以提权,提取的主机权限是否跟mysqld进程启动的主机账号有关 数据库信息 MySQL数据库版本:5.7.21 UDF UDF:(User Defined Function) 用户自定义函数,MySQL数据库的初衷是用于方便用户进行自定义函数,方便查询一…

特殊字符,十六进制 0xa0导致的搜索问题

导致后端在处理的时候出现一些错误本文来自博客园,作者:chuangzhou,转载请注明原文链接:https://www.cnblogs.com/czzz/p/18346469

电路基础知识——常见晶振电路

电路基础知识——常见晶振电路 本文介绍了有源和无源晶振的特性,包括精度、稳定性、引脚配置以及晶振的选型参数,如工作电压、输出电平、频率精度等。此外,还讨论了晶振的类型,如SPXO、VCXO和TCXO,以及PCB设计中应注意的事项,如负载电容和热传导的影响。 有源晶振 有源晶…

后端开发学习敏捷需求--专题的目标与价值成效

专题的目标与价值成效 什么是专题公司或企业为了抓住业务机会或者解决痛点问题,而采取的具体的行动和举措专题的目标分析 1.业务调研了解目标的预期 利用5W2H来进行专题分析what——是什么?目的是什么?作什么工作?专题是什么 专题产生的背景是什么 专题的目标是什么,要达到…

大数据超全面入门干货知识,看这一篇就够了!

随着科技的飞速发展和互联网的普及,大数据已成为 21 世纪最炙手可热的话题之一。它像一面神秘的面纱,覆盖着现实世界,隐藏着无穷无尽的可能性。今天将带领大家一起揭开大数据这个未知世界的神秘面纱,带你了解大数据的概念、应用以及大数据相关组件。 一、什么是大数据大数据…

USB基础知识总结

USB基础知识总结 USB基本概念介绍 USB (Universal Serial Bus,通用串行总线)是1995年英特尔和微软等公司联合倡导发起的一种新的** PC 串行通信协议。它基于通用连接技术,实现外设的简单快速连接,达到方便用户、降低成本、扩展 PC 连接外设范围的目的。其最大特点是支持热插…

es6-string-html vscode插件 js里面template的高亮插件 无构建vue使用

es6-string-html vscode插件 js里面template的高亮插件 无构建vue使用 这个插件可以让js里面的template的字符串高亮,前面加 /*html*/Refference: 无构建和打包,浏览器直接吃上Vue全家桶? https://juejin.cn/post/7399094428343959552-------------------------------------…

mesh组网

转自Wi-Fi mesh技术介绍 (qq.com) 什么是FTTR FTTR是光纤到房间(Fiber to The Room)的缩写 十兆时代,光纤到楼,FTTB(Fiber to The Building) 百兆时代,光纤到户,FTTH(Fiber to The Home) 千兆时代,光纤到房间,FTTR(Fiber to The Room) FTTR是千兆时代家庭网络的…

js拖动调整元素宽度

dom结构,一个盒子中包含左中右是三个元素,resize为拖动元素,左侧固定宽度,右侧元素flex:1 css部分,拖动元素的样式,左右两边按实际情况修改 js部分:const handleResize = (leftMinWidth = 0, rightMinWidth = 200) => { const leftDom = document.getElementById(…

亮点功能 | 企业数据传输限速,应对多种场景,当然要精、准、稳!

企业在进行数据和文件传输时,会尽量提升传输速度来提高业务效率,但在一些特定情况下,传输速度并非越快越好,反之要对其进行限制、控制在一定范围内,这便是传输限速需求。传输限速需求普遍存在于不同领域和企业中,如云服务提供商、电信运营商、大型企业、事业单位以及金融…

LabVIEW的ActorFramework笔记

1 前置知识储备 自分布式计算出现以来,业界已经开始广泛研究基于消息传递编程模型的解决方案。关于消息传递,Wikipedia 描述其广泛定义主要包括:远程过程调用(Remote Procedure Calls, RPC) 和 消息传递接口(Message Passing Interface, MPI)。但是,如今我们所谈到的消…