Windows、Mac安装配置Nodejs【保姆级教程】

news2024/12/24 10:27:37

安装配置Nodejs

最近需要使用whistle抓包,发现依赖nodejs环境,同时环境为windows,故在此记录。

1 windows

下载nodejs

官网地址:https://nodejs.org/en/
在这里插入图片描述

  1. 下载完成后,双击安装包,开始安装Node.js
  2. 直接点【Next】按钮,此处可根据个人需求修改安装路径,我这里路径改为了D:\Program Files\nodejs\,修改完毕后继续点击【Next】按钮
    在这里插入图片描述
  3. 是否自动配置环境变量等,可根据自身需求进行,此处我选择默认安装,继续点击【Next】按钮
    在这里插入图片描述
  4. 是否安装工具
    在这里插入图片描述
  5. 点击【Install】按钮进行安装
  6. 点击Finish安装完成
  7. 验证是否安装成功

win+R,输入cmd,进入命令行页面:

node -v     // 显示node.js版本
npm -v      // 显示npm版本

在这里插入图片描述

配置环境变量

①nodejs设置node_global、node_cache

  1. 找到安装的目录 D:\Program Files\nodejs,在安装目录下新建两个文件夹【node_global】和【node_cache】
    在这里插入图片描述
  2. 创建完毕后,使用管理员身份打开cmd命令窗口,这里以win11打开cmd为例,搜索框搜索cmd
    在这里插入图片描述
  3. 设置node全局目录
# npm config set prefix “你的路径\node_global” (复制你刚刚创建的“node_global”文件夹路径)
npm config set prefix "D:\Program Files\nodejs\node_global"

# npm config set cache “你的路径\node_cache” (复制你刚刚创建的“node_cache”文件夹路径)
npm config set cache "D:\Program Files\nodejs\node_cache"

②配置NODE_HOME环境变量

  1. 【此电脑】-单击右键-【属性】-【高级系统设置】-【环境变量】
    在这里插入图片描述
  2. 在【系统变量】中点击【新建】
    在这里插入图片描述

变量名:NODE_PATH

变量值:D:\Program Files\nodejs\node_global\node_modules
在这里插入图片描述
然后你就会发现【node_global】里多出了一个【node_modules】文件夹
在这里插入图片描述

  • Tips: 如果输入变量值之后没有自动创建【node_modules】文件夹,就在【node_global】下手动创建一个【node_modules】文件夹,再复制你创建的【node_modules】文件夹的路径地址到变量值
  1. 编辑【用户变量】中的【Path】
    在这里插入图片描述
  2. 将默认的 C 盘下【 AppData\Roaming\npm 】修改成 【node_global】的路径,点击确定

修改前:
在这里插入图片描述
修改后:
在这里插入图片描述
5. 在【系统变量】中选择【Path】点击【编辑】添加【NODE_PATH】,随后一直点击【确定】
在这里插入图片描述
在这里插入图片描述
6. 验证配置

npm config get prefix
npm config get cache
  1. 验证能否安装依赖成功
npm install express -g   // -g代表全局安装

运行结果:
在这里插入图片描述

配置国内镜像

配置华为镜像:

npm config set registry https://mirrors.huaweicloud.com/repository/npm/

# 检查是否配置成功
npm config get registry

# 如果要恢复nodejs默认镜像则执行
npm config set registry https://registry.npmjs.org

# 如果你只想对单次安装命令使用华为的镜像,可以直接在命令中添加 --registry 参数
npm install express --registry=https://mirrors.huaweicloud.com/repository/npm/

安装cnpm(可选)

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

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

在这里插入图片描述
检查是否安装成功:

 cnpm -v

在这里插入图片描述

2 mac

下载nodejs(通过nvm)

下载:https://nodejs.org/en

Mac可以安装配置nvm(管理node的工具),windows也有对应的工具nvmw,大家感兴趣的可以去了解安装,我这里就不过多介绍。

  • https://github.com/nvm-sh/nvm
    如果安装过程中出现443,表明可能被墙了
  • 解决:打开网站https://www.ipaddress.com/
    查询一下 raw.githubusercontent.com对应的IP 地址,然后修改本机的vim /etc/hosts文件:
    185.199.108.133 raw.githubusercontent.com
### nvm安装及使用
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

# 配置环境变量
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"

# 完成后输入nvm,出现node version manger表示安装成功
nvm

# 使用:
## 1 安装node( nvm ls-remote  | grep 18 查看有哪些node版本)
nvm install 13.0.1
## 2 查看是否安装成功
nvm list | grep 13
## 3 切换版本
nvm use 13.0.1

在这里插入图片描述

配置nodejs(npm 国内镜像)

# 配置npm
npm config set registry https://registry.npmmirror.com  #设置国内阿里云镜像源
npm config get registry  #查看镜像源

npm init: 项目初始化;
npm init -y:默认一路yes,不用挨个输入信息
npm install 包名:安装js包到项目中(仅当前项目有效)。指定 包名,或者 包名@版本号
npm install -g: 全局安装,所有都能用
可以去 npm仓库 搜索第三方库
npm update 包名:升级包到最新版本
npm uninstall 包名:卸载包
npm run:项目运行

拓展:whistle抓包ios

介绍

whistle是基于Node实现的跨平台web调试代理工具,主要用于查看、修改HTTP、HTTPS、Websocket的请求、响应,也可以作为HTTP代理服务器使用。

类似的工具有Windows平台上的Fiddler,不同于Fiddler通过断点修改请求响应的方式,whistle采用的是类似配置系统hosts的方式,一切操作都可以通过配置实现,支持域名、路径、正则表达式、通配符、通配路径等多种匹配方式,配置使用起来非常简单。

安装

前提:需要有nodejs环境

# 检查是否有nodejs环境
node -v 
# 全局安装whistle抓包工具
npm install -g whistle

# Mac 或 Linux 的非 root 用户需要在命令行前面加 sudo,如:
sudo npm install -g whistle

# 如果安装超时,可以执行镜像安装
npm install whistle -g --registry=https://registry.npm.taobao.org

启动并安装证书

启动

默认端口是8899,如果端口被占用,可以在启动时通过 -p 来指定新的端口
我比较习惯在启动的时候自己来指定一个端口,可以和fiddler区分,例如我用的8081:(fiddler是8080~~)

在这里插入图片描述
启动以后就可以在自己的浏览器上访问到whistle的界面啦~
http://127.0.0.1:8889 打开浏览器确认服务开启成功

服务端配置证书(win10)

浏览器输入http://127.0.0.1:8889,打开whistle页面,点击HTTPS:
在这里插入图片描述
勾选capture xxx允许抓包,然后点击下载证书:
在这里插入图片描述

windows安装证书:

下载证书成功后,双击

在这里插入图片描述

在这里插入图片描述

移动端安装证书

  1. 连接服务端的代理
    在这里插入图片描述
  2. 下载安装证书

如果下载证书失败,也可以直接电脑发送到微信文件传输助手,然后手机登录微信再下载

在这里插入图片描述

使用

安装成功之后,在服务端(win10)浏览器中即可看到移动端ios的网络请求:

  • 浏览器输入localhost:port
  • 左侧点击network
    在这里插入图片描述

参考文档:
https://blog.csdn.net/weixin_44259233/article/details/139743886
https://blog.csdn.net/sinat_34937826/article/details/105427296

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

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

相关文章

SOMEIP_ETS_078: Wrong_SOMEIP_Protocol_Version

测试目的: 验证当设备(DUT)接收到一个包含错误协议版本的SOME/IP请求时,是否能够返回错误消息或忽略该请求。 描述 本测试用例旨在检查DUT在处理一个echoUINT8方法的SOME/IP消息时,如果消息中包含的协议版本不正确&…

ARM体系与架构

硬件基础 NOR Flash 和 NAND Flash异同 NOR,Not OR,逻辑是或非门;NAND,Not AND,逻辑是与非门。 两者都是FALSH芯片,断电不丢失。FLASH只能写0不能写1,所以写前都要先擦除。 NOR FLASH 按照块、…

HarmonyOS开发实战( Beta5版)高负载场景下线程设置防止关键线程被打断

场景介绍 在现代软件开发中,多线程或多进程的并发处理已成为常态。在多线程环境中,不同线程执行的任务具有不同的重要性和紧急程度。在高负载情况下,系统资源(如CPU时间)变得非常宝贵,此时如果关键线程&am…

开源-基于J2EE分布式架构的会议管理系统,支持会议资源管理,预订会议,冲突检测,提醒与签到

自20世纪末至21世纪初,数字化和互联网技术的迅猛发展彻底改变了工作方式和商业模式。企业迅速采用电子邮件、即时通讯和在线会议等数字工具以提升沟通效率。 在信息爆炸的时代,工作中面临的信息量剧增,而企业对效率和生产力的要求也日益提高…

用canvas 实现一个 图片 object-fit: cover 模式的效果 ,纯js

先看效果&#xff1a;左侧是原生的object-fit: cover img 右侧是canvas 处理之后的 模仿object-fit: cover 的效果&#xff0c;src 是转换之后的base64 地址 可以结合style样式发现右图并没有object-fit: cover&#xff0c;但是效果与左同。 直接贴代码吧 <!DOCTYPE htm…

2022ICPC香港站

K. Maximum GCD 分析&#xff1a;对 n 任意取模的结果只可能是小于 n/2​ 的正整数。一个序列的最大公约数不会超过这个序列的最小值。 如果全部值都大于等于最小值的两倍&#xff08;或等于最小值&#xff09;&#xff0c;则都可以变成最小值。 反之则取最小值/2。 #includ…

Solidworks笔记

目录 一、Solidworks 1.1 特征命令 1.1.1 镜像 1.1.2 扫描 1.2 报错 1.3 &#xff08;零件&#xff09;属性 1.3.1 材料属性 1.3.2 质心 1.3.3 材料库的创建、保存、导入 1.3.4 查询材料参数的网站 1.3.5 编辑零件颜色 1.3.6 几种颜色 1.3.7 转动惯量查看 …

猫头虎 分享已解决Bug || ModuleNotFoundError: No module named ‘flask‘ 解决方案

猫头虎 分享已解决Bug || ModuleNotFoundError: No module named flask 解决方案 猫头虎 最近收到了一位粉丝的求助&#xff0c;他在进行后端开发时遇到了一个令人头痛的错误&#xff1a;ModuleNotFoundError: No module named flask。这不仅是新手容易遇到的问题&#xff0c;甚…

Linux运维--Firewall防火墙命令以及规则等详解(全)

Linux运维–Firewall防火墙命令以及规则等详解&#xff08;全&#xff09; 在Linux系统中&#xff0c;你可以使用firewalld和iptables来管理和设置防火墙规则。Firewalld是一个动态管理防火墙的工具&#xff0c;而iptables是一个更底层的工具&#xff0c;可以直接配置Linux内核…

算法的学习笔记—数据流中的中位数(牛客JZ41)

&#x1f600;前言 在处理动态数据时&#xff0c;实时计算中位数是一个经典问题。中位数是排序后处于中间位置的数值&#xff0c;数据流中的中位数计算面临两个挑战&#xff1a;首先是数据量的动态变化&#xff0c;其次是需要保持元素的有序性。为了高效地解决这个问题&#xf…

【高校科研前沿】三峡大学黄进副教授等人在环境科学Top期刊JCP发文:人类活动如何在气候变化下影响和降低生态敏感性:以中国长江经济带为例

文章简介 论文名称&#xff1a;How human activities affect and reduce ecological sensitivity under climate change: Case study of the Yangtze River Economic Belt, China&#xff08;人类活动如何在气候变化下影响和降低生态敏感性&#xff1a;以中国长江经济带为例&am…

Facebook的AI进化:如何用智能技术提升内容推荐

在数字时代&#xff0c;社交媒体平台不仅是信息传播的重要渠道&#xff0c;也是个人和品牌互动的关键平台。Facebook作为全球领先的社交媒体网络&#xff0c;其内容推荐系统的优化在很大程度上提升了用户体验。本文将探讨Facebook如何通过人工智能&#xff08;AI&#xff09;技…

Android Studio gradle下载太慢了!怎么办?(已解决)

Android Studio&#xff01;你到底干了什么&#xff1f;&#xff01; 不能高速下载gradle&#xff0c;我等如何进行app编程&#xff1f;&#xff01; 很简单&#xff0c;我修改gradle地址不就是了。 找到gradle-wrapper.properties文件 修改其中distributionUrl的地址。 将 ht…

基于LDA模型的经济金融政策文本研究与分析设计与实现,很详细

摘 要 经济金融政策文本的研究与分析对于理解国家经济发展方向和政策制定逻辑至关重要。近年来&#xff0c;随着信息技术的发展&#xff0c;基于文本的定量分析方法在经济金融领域得到广泛应用。LDA&#xff08;Latent Dirichlet Allocation&#xff09;作为一种典型的主题模型…

OpenSea收到SEC韦尔斯通知,NFT赛道提前预定大败局?

NFT赛道需要寻找下一个突破口&#xff0c;回到数字艺术&#xff0c;或者走向应用型技术。 作者&#xff1a;Wenser&#xff1b;编辑&#xff1a;郝方舟 出品 | Odaily星球日报&#xff08;ID&#xff1a;o-daily&#xff09; 就在昨日&#xff0c;曾经最大的 NFT 交易平台 Open…

前端宝典二十五:vue2高阶用法mixin、transition、slot

本文主要探讨vue2中几个高阶的用法&#xff1a;mixin、transition、slot 一、mixin 在 Vue 中&#xff0c;mixin&#xff08;混入&#xff09;是一种用于在多个组件之间共享代码的机制。它允许你定义可重用的选项对象&#xff0c;并将其混入到不同的组件中。 1、使用方法 创…

重新修改 Qt 项目的 Kit 配置

要重新修改 Qt 项目的 Kit 配置&#xff0c;你可以按照以下步骤进行操作&#xff1a; 1. 打开 Qt Creator 首先&#xff0c;启动 Qt Creator&#xff0c;确保你的项目已经打开。 2. 进入项目设置 在 Qt Creator 中&#xff0c;点击菜单栏的 “Projects” 标签&#xff08;通…

python3兼容python2吗

不兼容&#xff0c;最明显的是print变成了函数。 最重要的变化&#xff1a; 第一点是python2里的str变为了python3里的byte&#xff0c;而str由unicode str取代&#xff0c;因此一些网络编程&#xff0c;hash加密的函数需要将参数encode处理。 第二点是大量的python2库没有被…

C++入门8——vector的使用

目录 1.什么是vector&#xff1f; 2.vector的常见构造 2.1 无参默认构造 2.2 构造并初始化n个val 2.3 拷贝构造 2.4 使用迭代器区间构造 2.5 验证 3.vector的遍历和访问 3.1 下标[]访问 3.2 iterator迭代器访问 3.3 范围for访问 3.4 at访问 4.vector的容量操作 …

挂载磁盘时有多个文件系统

mount: /opt/storage/data1/: more filesystems detected on /dev/md5; use -t or wipefs(8). 1、解决方法一 mount -t ext4 /dev/md5 /opt/data2、解决方法二 #返回磁盘有那些文件系统和格式 wipefs /dev/md5 #清除文件系统和元数据 wipefs -a -f /dev/md5 #再次查看将没有任…