Node.js看我的就行了!!!

#最近nodejs崩了好多次,所以我决定重装。由于没有卸载干净,折腾了我两天#

终于,我今天下午装好了

我们从卸载开始(没有安装的小伙伴直接到第二步)

一、卸载node.js

Windows系统彻底卸载 nodejs

1. 开始菜单中搜索node,找到并运行卸载重新程序 【Uninstall Node.js】

2. 删除系统中的 nodejs 残留文件
  1. nodejs 安装文件夹

  2. 如果安装时为默认在C盘下(morita为用户名)
    c://user/morita/node_models
    c://Program Fiels/nodejs
    c://user/morita/AppData/Roaming/npm
    c://user/morita/AppData/Roaming/npm-cache

  3. 删除相关环境变量 —NODE_PATH

  4. PATH

二、 下载,安装

Node.js — 在任何地方运行 JavaScript(nodejs中文网)

选择对应你系统的Node.js版本,这里我选择的是Windows系统、64位

二、安装程序

(1)下载完成后,双击安装包,开始安装Node.js

(2)直接点【Next】按钮,此处可根据个人需求修改安装路径,修改完毕后继续点击【Next】按钮

(3)可根据自身需求进行,此处我选择默认安装,继续点击【Next】按钮

(4)不选中,直接点击【Next】按钮

(5)点击【Install】按钮进行安装

(6)安装完毕,点击【Finish】按钮

(7)测试安装是否成功,按下【win+R】键,输入cmd,打开cmd窗口

输入:node -v // 显示node.js版本

npm -v // 显示npm版本

-------------------------------成功显示版本说明安装成功--------------------------------------------

三、配置环境

(1)找到刚刚安装的目录,在安装目录下新建两个文件夹【node_global】和【node_cache】

(2)创建完毕后,复制刚刚创建的【node_global】和【node_cache】文件夹路径在cmd命令分别输入以下两条命令,注意不要两条命令的文件路径不要搞混了。

注:可以打开所创建的文件夹,把鼠标放在箭头指向的位置选择复制。

使用管理员身份打开cmd命令窗口(打开方法见下方Tips),输入以下命令(下面的路径是我创建的文件夹所在的路径,需要复制你们自己创建的路径哦)

①npm config set prefix “你的路径 ode_global” (复制刚刚所创建的“node_global”文件夹路径)

npm config set prefix "D:commondevelopNodejs ode_global"

②npm config set cache “你的路径 ode_cache” (复制刚刚所创建的“node_cache”文件夹路径)

npm config set cache "D:commondevelopNodejs ode_cache"
查看存放路径

在命令行窗口,依次输入如下指令回车,查看存放路径是否是目标位置。

  1. npm get prefix
  2. npm get cache

-----------可以输入以下两条命令查看路径是否配置正确------------

Tips: 使用管理员身份运行cmd的方法 :点击左下角【开始】菜单,在搜索区域输入“命令提示符”,然后点击【以管理员身份运行】

=或单击鼠标右键选择【以管理员身份运行】============

(3)配置环境变量

①【此电脑】-单击右键-【属性】-【高级系统设置】-【环境变量】

② 在【系统变量】中点击【新建】

变量名:NODE_PATH

变量值:D:commondevelopNodejs ode_globalnode_modules

随后在后续安装完express模块之后就会发现在【node_global】里自动多出了一个【node_modules】文件夹

③编辑【用户变量】中的【Path】

④将默认的 C 盘下【 AppDataRoaming pm 】修改成 【node_global】的路径,点击【确定】

⑤在【系统变量】中选择【Path】点击【编辑】后点击新建【%NODE_PATH%】,随后一直点击【确定】直到关闭所有窗口即可。

四、测试

配置完成后,全局安装一个最常用的 express 模块进行测试(使用管理员方式打开cmd)

npm install express -g ? ?// -g代表全局安装

出现以下界面即为配置成功

如果没有使用管理员方式打开cmd窗口的话,可能会报以下错误


解决方法①:

在【C盘】下的【用户】找到 .npmmrc 文件,并将它删除(注意不是安装目录下的npm模块里的.npmmrc 文件,而是【C:Users{用户}下的.npmrc文件】)

删除之后在cmd窗口重新输入 npm install express -g ,则显示安装成功。

解决方法②:

找到安装目录下的【node_global】和【node_cache】文件夹,鼠标右击【node_global】的文件夹,点击【属性】,再点击【安全】,再点击【编辑】,将权限都勾上,随即点击【确定】即可,【node_cache】步骤同理。

配置完成之后在cmd窗口重新输入 npm install express -g ,则显示安装成功。

五、安装淘宝镜像

淘宝镜像是淘宝团队为国内用户提供的npm镜像源,它与官方镜像源保持同步,并提供了更快的下载速度。

①安装淘宝镜像

npm config set registry https://registry.npmmirror.com

查看是否成功:

npm config get registry


②安装cnpm(按需安装)

说明: npm是node官方的包管理器。cnpm是个中国版的npm,是淘宝定制的 cnpm (gzip 压缩支持) 命令行工具代替默认的 npm。

npm install -g cnpm --registry=https://registry.npmmirror.com


查看是否安装成功

命令: cnpm -v

在查看版本号的时候,可能会出现【 ‘cnpm’ 不是内部或外部命令,也不是可运行的程序】的提示信息。

输入 npm config ls 查看配置信息,如果prefix和cache为以下路径则表示前面没有配置成功或者漏配了,需重新输入配置命令。

注:确认配置路径为自己创建的文件路径,修改结束之后先输入 npm uninstall cnpm -g 卸载原先安装的cnpm后再重新输入安装命令,最后查看版本号成功即安装成功。

附加:如果有出现问题的小伙伴们可以检查一下自己的配置有没有出错
①打开cmd敲以下命令检查

②打开环境变量配置检查

用户变量


系统变量

③打开安装目录检查是否有以下文件夹

····检查【node_global】里是否有【node_modules】文件夹

····上面所安装的cnpm、express会出现在【node_global】下的【node_modules】文件夹里

结尾

希望对大家有所帮助!

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

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

相关文章

Nginx搭建负载均衡

Nginx搭建负载均衡 引言 在当今互联网时代,网站和应用的可用性、可靠性和性能至关重要。随着流量的增加,单一服务器往往难以承载所有请求,从而导致性能瓶颈。负载均衡(Load Balancing)是一种将流量分散至多台服务器的技…

Git命令补全优化:解决分支名称冲突

在日常的Git操作中,利用Tab键进行命令补全是一个非常方便的功能。例如,当我们输入git switch de并按下Tab键时,如果存在多个以"de"开头的分支(如develop和dev-1234),命令补全会停止在git switch dev。即使我们删除了dev-1234分支,补全功能仍然会因为之前的存在…

AD中从电路图到PCB的设计流程:系统学习篇

从原理图到PCB:在Altium Designer中构建可靠硬件设计的实战路径你有没有经历过这样的时刻?花了一整天画好电路图,信心满满地点击“更新PCB”,结果弹出一堆红色警告:“封装未指定”、“网络冲突”、“Extra Primitive D…

STC15系列与Keil C51结合的PWM输出全面讲解

深入掌握STC15单片机PWM输出:从寄存器配置到Keil实战调优在嵌入式控制的世界里,PWM(脉宽调制)是一项看似基础却极为关键的技术。无论是调节LED亮度、驱动直流电机,还是实现数字电源的闭环稳压,背后都离不开…

u8g2中自定义字体嵌入的实战案例

让你的嵌入式界面“有颜有料”:u8g2自定义字体实战全解析你有没有遇到过这样的情况?项目快上线了,老板看了一眼OLED屏幕上的显示效果,皱着眉头说:“这字太普通了,不像我们品牌调性。” 或者用户反馈&#x…

软件I2C在STM32上的实现:手把手教程(从零开始)

软件I2C在STM32上的实现:从协议到代码的深度实践 你有没有遇到过这样的场景?项目已经进入PCB布线阶段,突然发现硬件I2C引脚被串口占用了;或者多个传感器都需要接入I2C总线,但MCU只提供一路I2C外设。更糟的是&#xff0…

【LLaVA】《Improved Baselines with Visual Instruction Tuning》译读笔记

Improved Baselines with Visual Instruction Tuning 摘要 大型多模态模型(LMM)最近在视觉指令调优方面取得了令人鼓舞的进展。本文首次系统性地研究在 LLaVA 框架下在受控环境中探讨 LMMs 的设计选择。本文展示了 LLaVA 中全连接的视觉语言连接器功能…

vivado安装包版本选择:核心要点一文说清

Vivado安装包版本怎么选?搞懂这几点,告别环境踩坑你有没有遇到过这样的情况:刚接手一个老项目,打开工程时弹出“Project file corrupted”;或者辛辛苦苦写完代码,综合到一半报错“Part not found”&#xf…

Blazor WebAssembly 中的 MudBlazor 折叠面板绑定与更新

简介 在 Blazor WebAssembly 开发中,MudBlazor 是一个非常受欢迎的 UI 组件库,它提供了丰富的组件和样式,极大地简化了前端开发。然而,在使用其折叠面板(Expansion Panels)时,如何正确地绑定数据…

ChatGPT 基于 GPT(Generative Pre-trained Transformer)架构,通过大规模预训练和微调实现自然语言处理。

AI 发展指南:技术演进路线ChatGPT 的技术基础ChatGPT 基于 GPT(Generative Pre-trained Transformer)架构,通过大规模预训练和微调实现自然语言处理。其核心是 Transformer 的自注意力机制,能够捕捉长距离依赖关系。训…

深度解析:AI提示系统技术架构中的多轮对话管理设计

深度解析:AI提示系统技术架构中的多轮对话管理设计 摘要/引言 在当今人工智能飞速发展的时代,AI提示系统广泛应用于聊天机器人、智能客服等诸多场景。多轮对话管理作为AI提示系统技术架构的关键组成部分,直接影响着用户体验和系统的实用性。本…

线性回归是机器学习中最基础的算法之一,用于建立输入变量(特征)与输出变量

线性回归原理与代码实现线性回归是机器学习中最基础的算法之一,用于建立输入变量(特征)与输出变量(目标)之间的线性关系。以下是其核心原理及Python实现。数学原理线性回归模型表示为: $y wX b$ 其中&…

基于STM32的下载异常:no stlink detected系统学习

当你的STM32下不了程序:深度解析 no stlink detected 的根源与实战解决 你有没有遇到过这样的场景? 手头的STM32开发板一切看起来都正常,电源灯亮了,接线也没松动。可当你在STM32CubeIDE里点击“Download”时,弹出…

STM32 HAL库配置HID协议的超详细版教程

手把手教你用STM32 HAL库实现USB HID设备:从零到“即插即用”的完整实战你有没有遇到过这样的场景?开发一个调试工具,想通过USB把数据传给电脑,结果客户抱怨:“怎么还要装驱动?”、“Mac上根本没法用&#…

Multisim汉化实战:软件层修改完整指南

Multisim汉化实战:从资源修改到自动化部署的完整技术路径你有没有遇到过这样的场景?打开Multisim准备做电路仿真,刚点开“Place”菜单就卡住了——Ground是接地还是电源?Probe到底该译成“探针”还是“探测器”?对于初…

用DFS找出指定长度的简单路径

在图论和计算机科学中,寻找图中所有符合条件的路径是常见的问题之一。今天我们将探讨如何使用深度优先搜索(DFS)来找出一个有向图中从给定顶点出发的所有简单路径,这些路径的长度不超过指定的最大长度k。我们将通过一个具体的实例来展示这个过程,并讨论DFS的优势和一些需要…

STM32下vTaskDelay实现任务延时的完整指南

如何在 STM32 上用vTaskDelay实现高效任务延时?FreeRTOS 多任务调度的底层逻辑全解析你有没有遇到过这样的场景:在一个 STM32 项目中,既要读取传感器数据,又要刷新显示屏、处理串口通信,结果发现主循环卡顿严重&#x…

动态求解线性方程组:Python实现

在编程世界中,线性方程组的求解是非常常见的问题。尤其是当这些方程组包含未知变量时,如何编写一个灵活的程序来适应不同的变量数量和方程数量成为了一个挑战。今天我们将探讨如何使用Python来动态处理这种情况,并给出整数解。 问题背景 假设我们有如下一组线性方程: sy…

从STM32视角看CANFD和CAN的区别:通俗解释带宽差异

从STM32视角看CAN FD与经典CAN的差异:一场关于带宽、效率和未来的对话 你有没有遇到过这样的场景? 在调试一个基于STM32的电池管理系统时,主控MCU需要从多个从节点读取电压、温度和SOC数据。每帧只有8字节的经典CAN协议,逼得你不…

Oracle数据库中的CLOB与VARCHAR2的无缝转换

引言 在数据库设计中,数据类型的选择对系统的性能和可扩展性有着重要的影响。特别是当数据量增大时,存储字段的数据类型选择显得尤为关键。Oracle数据库提供了多种数据类型,其中VARCHAR2和CLOB是常用的字符数据类型。今天我们来探讨一个有趣的现象:当将VARCHAR2(4000)类型…