Node.js安装教程

虽然网上Node.js的安装教程有很多,但是基本上都是千篇一律。虽然跟着网上内容安装,却总会遇到乱七八糟的问题。为此,我写下这篇文章,除了描述node的安装教程,还会解释这样安装的过程起到一个什么作用。

文章大致上分为三个部分:

  1. node的官网下载
  2. node的配置
  3. node的测试

第一部分和第三部分较为简单,重要的是第二部分,基于这三个部分的安装,可以让你安装完成node之后能明白这么安装的原因,而不是安装完成之后,脑子里想着“为什么要这样安装”。

1. node的下载

node的官网下载链接:

https://nodejs.org/en/download/

LTS:稳定版本(推荐下载的版本)

Current:最新版

如果使用的是win10系统,下载基本上都不会有问题,如果你的电脑是win11的,建议下载稳定版本或者是历史版本,新版本可能会出现不兼容问题。

下载好之后开始安装,安装过程就不进行过多的描述了,按照默认的安装即可(安装路径自己配置)。

安装完成之后,我们打开cmd,使用以下命令,查看node是否安装成功:

node -v
npm -v

2. node的配置

npm安装的时候,我们可以看到有些安装命令有-g参数的,这就是全局安装,如果不添加-g就是默认安装。

全局安装:开发项目时,所有的项目都可以用的这个模块。

默认安装:仅当前项目使用。

全局安装的路径默认是在C盘,路径是在用户的目录下,这样一来不方便我们来管理,所以我们需要更改node的配置。

2.1 创建文件夹

我们可以在D盘创建全局模式下存放的模块文件夹,一般我们是在node安装的目录下创建,例如:

然后打开cmd,输入以下命令:

npm config set cache "node_cache的绝对路径"
npm config set prefix "node_global的绝对路径"

回车后,我们来检查命令是否生效:

2.2. 配置环境变量

配置前我们在node_global中创建node_modules文件夹:

配置用户变量:

配置系统变量:

配置系统变量中的Path:

配置完成。

3. node测试

3.1. 修改文件的权限

node安装文件夹默认情况下,用户是没有修改权限的,所以我们需要调整用户的权限,改为完全控制:

3.2 npm install测试

如果网络不好,可以先设置成淘宝镜像:

npm install -g cnpm --registry=https://registry.npm.taobao.org

全局安装gulp

我们查看gulp是否存放在了我们的全局文件夹node_global中:

存在了,则说明我们的安装成功了。

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

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

相关文章

【PHP入门】1.2-常量与变量

-常量与变量- PHP是一种动态网站开发的脚本语言,动态语言特点是交互性,会有数据的传递,而PHP作为“中间人”,需要进行数据的传递,传递的前提就是PHP能自己存储数据(临时存储) 1.2.1变量基本概…

微服务实战系列之ZooKeeper(下)

前言 通过前序两篇关于ZooKeeper的介绍和总结,我们可以大致理解了它是什么,它有哪些重要组成部分。 今天,博主特别介绍一下ZooKeeper的一个核心应用场景:分布式锁。 应用ZooKeeper Q:什么是分布式锁 首先了解一下&…

04 python函数

4.1 函数的快速开发体验 """ 演示,快速体验函数的开发和使用 """#需求,统计字符串的长度,不使用内置函数len()str1 itheima str2 itcast str3 python#定义一个计数的变量 count 0 for i in str1:count 1…

FPGA使用乘法的方式

FPGA使用乘法的方式 方法一:直接使用乘法符“*” 源代码 module multiply(input [7:0] a,input [7:0] b,output wire [15:0] result);(*use_dsp48 = "yes"*) wire [15:0] result;assign result = a*b; endmodule仿真代码 module multiply_tb();reg [7:0] a; re…

java minio通过getPresignedObjectUrl设置(自定义)预签名URL下载文件的响应文件名之minio源码改造方案

Minio预签名URL自定义响应文件名之Minio源码改造 需求说明Minio源码改造一、环境准备二、下载Minio源代码三、修改源代码1.修改cmd目录下的api-router.go这个代码文件2.将filename参数值设置到响应头4.修改验证签名时是否需要带入filename参数验证 四、大功告成,编译…

残差网络中的BN (Batch Normalization 批标准化层)的作用是什么?

文章目录 什么是BN (Batch Normalization 批标准化层)一、BN层对输入信号进行以下操作:二、BN 层有什么作用? 什么是BN (Batch Normalization 批标准化层) BN层的全称是Batch Normalization层,中文可以翻译为批标准化…

如何让.NET应用使用更大的内存

我一直在思考为何Redis这种应用就能独占那么大的内存空间而我开发的应用为何只有4GB大小左右,在此基础上也问了一些大佬,最终还是验证下自己的猜测。 操作系统限制 主要为32位操作系统和64位操作系统。 每个进程自身还分为了用户进程空间和内核进程空…

Mybatis-Spring整合原理:MapperFactoryBean和MapperScannerConfigurer的区别及源码剖析

文章目录 引言MapperFactoryBean的用法和优缺点MapperScannerConfigurer的用法和优缺点MapperFactoryBean源码分析MapperScannerConfigurer源码分析Spring容器初始化流程回顾核心方法:postProcessBeanDefinitionRegistryBeanDefinitionRegistryPostProcessor和BeanF…

Java 并发编程(六)-Fork/Join异步回调

一、并发编程 1、Fork/Join分支合并框架 Fork/Join它可以将一个大的任务拆分成多个子任务进行并行处理,最后将子任务结果合并成最后的计算结果,并进行输出。Fork/Join框架要完成两件事情: Fork:把一个复杂任务进行分拆&#xff0…

下午好~ 我的论文【CV边角料】(第三期)

文章目录 CV边角料Pixel ShuffleSENetCBAMGlobal Context Block (GC)Criss-Cross Attention modules (CC) CV边角料 Pixel Shuffle Real-Time Single Image and Video Super-Resolution Using an Efficient Sub-Pixel Convolutional Neural Network pixelshuffle算法的实现流…

EXCEL SUM类函数

目录 一. SUM二. SUMIF三. SUMIFS四. SUMPRODUCT 一. SUM ⏹对一列或一组单元格中的数字进行求和。 基本语法 SUM(number1, [number2], ...)✅统计所有产品的总数量 SUM(C2:C13) 二. SUMIF ⏹按照特定条件对范围内的单元格进行求和的函数。 基本语法 SUMIF(条件区域, 指定…

山西电力市场日前价格预测【2023-12-16】

日前价格预测 预测说明: 如上图所示,预测明日(2023-12-16)山西电力市场全天平均日前电价为259.00元/MWh。其中,最高日前电价为333.74元/MWh,预计出现在18:00。最低日前电价为0.00元/MWh,预计出…

C语言训练:三个字符串比较大小,实现两个整数数的交换统计二进制中1的个数

目录 一、编写程序,输入三个字符串,比较它们的大小,并将它们按由小到大的顺序输出。要求用函数、指针实现。要求:要采用函数调用,并用指向函数的指针作为函数的参数。 1.不使用函数指针作为参数,并自己模拟strcmp。 …

001 Windows虚拟机

一、虚拟机安装Windows10 选自定义安装 升级是针对你电脑上有系统的情况下,你要升级;没有系统就选择自定义。 硬盘60G 直接单击下一步就是一个盘 如果你想对磁盘进行分区 分第一个区的时候它会去创建系统的保留分区和系统分区,然后还剩20…

流量分析基础

定义: 流量分析(Traffic Analysis)是指对网络流量数据进行分析和解释,以获得有关网络中通信的信息和情报。这种技术可以用于网络安全、网络管理和网络优化等领域。 网络流量包含了许多有关网络通信的细节信息,如源IP地…

Linux c++开发-06-使用Linux API 进行文件的读写

先简单的介绍一下open,read,write 先用open接口去打开文件,flag表示打开文件的权限不同。 int open(const char *pathname, int flags); int open(const char *pathname, int flags, mode_t mode);示例 结果:

经典深度学习算法【1】:K-近邻算法(KNN)概述

最简单最初级的分类器是将全部的训练数据所对应的类别都记录下来,当测试对象的属性和某个训练对象的属性完全匹配时,便可以对其进行分类。但是怎么可能所有测试对象都会找到与之完全匹配的训练对象呢,其次就是存在一个测试对象同时与多个训练…

迭代器的分类

迭代器的分类: 这里的前置后置递增是a和a; 这里的前值后置递减是a--和--a; 各迭代器的继承关系: 当使用双向迭代器时,可以使用随机迭代器;

THEMIS---Beta Sprint Summary Essay Blog

Which course does this assignment belong to2301-MUSE社区-CSDN社区云What are the requirements for this assignmentbeta SprintThe goal of this assignmentTo summarize the beta task progress and the teams sprintsTeam NameThemisTop-of-the-line collection of essa…

maui中实现加载更多 RefreshView跟ListView 跳转到详情页 传参(3)

效果如图 这里的很多数据是通过传参过来的的。 代码 例表页加入跳转功能&#xff1a; <ListView ItemsSource"{Binding Items}" ItemAppearing"OnItemAppearing" ItemTapped"OnItemTapped" RowHeight"70" Margin"20"…