【前端】win11操作系统安装完最新版本的NodeJs运行npm install报错,提示在此系统上禁止运行脚本

【前端】win11操作系统安装完最新版本的NodeJs运行npm install报错,提示在此系统上禁止运行脚本
🌹欢迎来到《小5讲堂》🌹
🌹这是《前端》系列文章,每篇文章将以博主理解的角度展开讲解。🌹
🌹温馨提示:博主能力有限,理解水平有限,若有不对之处望指正!🌹
在这里插入图片描述

目录

前言

感觉每次重新安装一次vue运行环境都会遇到一些问题,这次在安装完成nodejs之后,没有重启电脑情况,直接运行npm install安装依赖时,就提示报错了。

在这里插入图片描述

解决方案

这个错误是因为 PowerShell 的执行策略限制导致的。以下是几种解决方法:

方法1:以管理员身份运行 PowerShell 并更改执行策略

  1. 以管理员身份打开 PowerShell
    • 在开始菜单搜索 “PowerShell”
    • 右键点击 “Windows PowerShell”,选择 “以管理员身份运行”
  2. 执行以下命令:
Set-ExecutionPolicy-ExecutionPolicy RemoteSigned -Scope CurrentUser 
  1. 或者更宽松的策略:
Set-ExecutionPolicy-ExecutionPolicy Unrestricted -Scope CurrentUser 

运行后就不会报错了,显示依赖包正在下载中,npm install,会根据配置文件下载对应的依赖,自动创建文件夹node_modules保存对应的依赖包。

在这里插入图片描述


在这里插入图片描述

方法2:只为当前会话临时允许

Set-ExecutionPolicy-ExecutionPolicy RemoteSigned -Scope Process

方法3:使用命令提示符 (CMD)

暂时使用 CMD 代替 PowerShell:

npm install 你的包名 

方法4:绕过策略执行单个脚本

powershell -ExecutionPolicy Bypass -File "C:\Program Files\nodejs\npm.ps1"

推荐解决方案

建议使用方法1,设置 RemoteSigned 策略,这样:

  • 可以运行本地脚本
  • 从互联网下载的脚本需要数字签名
  • 平衡了安全性和便利性

完成后,重新打开终端,npm 命令应该可以正常工作了。

Node.js 详细介绍

如果对nodejs概念有点忘记了,那么可以看看下面详细介绍回顾回顾下。

什么是 Node.js?

Node.js 是一个基于 Chrome V8 引擎 的 JavaScript 运行时环境,让开发者能够使用 JavaScript 编写服务器端应用程序。

核心特点

1. 非阻塞 I/O 和事件驱动

// 非阻塞代码示例const fs =require('fs');// 非阻塞方式读取文件 fs.readFile('file.txt','utf8',(err, data)=>{if(err)throw err; console.log(data);}); console.log('程序继续执行,不会等待文件读取完成');

2. 单线程但高并发

  • 使用事件循环处理并发
  • 通过异步操作避免线程阻塞
  • 适合 I/O 密集型应用

架构组成

1. V8 JavaScript 引擎

  • 由 Google 开发
  • 将 JavaScript 编译为机器码
  • 高性能执行

2. LibUV 库

  • 跨平台异步 I/O 库
  • 处理事件循环
  • 提供线程池

3. 核心模块

const http =require('http');// HTTP 服务器const fs =require('fs');// 文件系统const path =require('path');// 路径处理const events =require('events');// 事件处理

安装与使用

安装

# 下载安装包从官网# 或使用包管理器# Windows Chocolatey choco install nodejs # macOS Homebrew brew installnode

验证安装

node --version # 查看 Node.js 版本npm --version # 查看包管理器版本

基本用法示例

1. 创建 HTTP 服务器

const http =require('http');const server = http.createServer((req, res)=>{ res.writeHead(200,{'Content-Type':'text/html'}); res.end('<h1>Hello Node.js!</h1>');}); server.listen(3000,()=>{ console.log('服务器运行在 http://localhost:3000');});

2. 文件操作

const fs =require('fs').promises;asyncfunctionreadFile(){try{const data =await fs.readFile('example.txt','utf8'); console.log(data);}catch(error){ console.error('读取文件出错:', error);}}

3. 模块系统

// math.js exports.add=(a, b)=> a + b; exports.multiply=(a, b)=> a * b;// app.jsconst math =require('./math'); console.log(math.add(2,3));// 5

包管理 - npm

常用命令

npm init # 初始化项目npminstall express # 安装包npminstall -g nodemon # 全局安装npm update # 更新包npm run start # 运行脚本

package.json 示例

{"name":"my-app","version":"1.0.0","scripts":{"start":"node app.js","dev":"nodemon app.js"},"dependencies":{"express":"^4.18.0"}}

应用场景

适合的场景

  • API 服务器 (RESTful, GraphQL)
  • 实时应用 (聊天室、游戏)
  • 微服务架构
  • 命令行工具
  • Web 爬虫
  • SSR (服务器端渲染)

不适合的场景

  • CPU 密集型任务 (图像处理、视频编码)
  • 大型科学计算

生态系统

流行框架和库

  • Express.js - Web 应用框架
  • Socket.IO - 实时通信
  • Mongoose - MongoDB ODM
  • Sequelize - SQL ORM
  • Jest - 测试框架
  • Webpack - 模块打包

开发工具

  • Nodemon - 自动重启开发服务器
  • PM2 - 进程管理
  • ESLint - 代码检查
  • Prettier - 代码格式化

优势与劣势

优势 ✅

  • 前后端语言统一 (JavaScript)
  • 高性能和非阻塞 I/O
  • 庞大的生态系统 (npm)
  • 活跃的社区支持
  • 快速开发

劣势 ❌

  • 回调地狱 (Callback Hell)
  • 单线程限制 CPU 密集型任务
  • 相对年轻的生态系统
  • 频繁的 API 变化

学习路径建议

  1. 基础 - JavaScript 语法、Node.js 核心模块
  2. 框架 - Express.js、Koa
  3. 数据库 - MongoDB、MySQL
  4. 认证 - JWT、OAuth
  5. 部署 - Docker、云平台

Node.js 让 JavaScript 从浏览器走向服务器,开创了全栈开发的新时代!

文章推荐

【前端】win11操作系统安装完最新版本的NodeJs运行npm install报错,提示在此系统上禁止运行脚本

【前端】Vue 3 + TypeScript 中 var 与 let 的区别,面试可能会问到,你知道怎么回答吗

【前端】使用Vue3过程中遇到加载无效设置点击方法提示不存在的情况,原来是少加了一个属性

【前端】Vue3+elementui+ts,TypeScript Promise转string错误解析,习惯性请出DeepSeek来解答

【前端】Vue3+elementui+ts,给标签设置样式属性style时,提示type check failed for prop,再次请出DeepSeek来解答

【前端】layui table表格勾选事件,以及常见模块

【前端】Layui的表格常用功能,表单提交事件,表格下拉按钮点击事件,表格外的按钮点击事件

【Echarts】曲线图上方显示数字以及自定义值,标题和副标题居中,鼠标上显示信息以及自定义信息

【Echarts】柱状图上方显示数字以及自定义值,标题和副标题居中,鼠标上显示信息以及自定义信息

【随笔】程序员如何选择职业赛道,目前各个赛道的现状如何,那个赛道前景巨大

【随笔】程序员的金三银四求职宝典,每个人都有最合适自己的求职宝典

Read more

深入剖析:按下 F5 后,浏览器前端究竟发生了什么?

深入剖析:按下 F5 后,浏览器前端究竟发生了什么?

文章目录 * 概述 * 一、关键前提:三种导航方式的本质区别 * 二、核心概念:强缓存 vs 协商缓存 * 1. 强缓存(Strong Caching) * 2. 协商缓存(Revalidation Caching) * 三、F5 刷新全景流程图 * 四、F5 刷新的完整生命周期详解 * 阶段一:主文档(HTML)的缓存验证与获取 * 阶段二:HTML 解析与渲染流水线(Critical Rendering Path) * 阶段三:子资源(CSS/JS/IMG)的缓存处理 * 五、对比总结:F5 与其他操作的本质差异 * 六、给前端开发者的实践建议 * 七、结语 概述 在前端开发中,

By Ne0inhk

学Simulink——基于Simulink的自适应控制算法仿真建模示例(增强版)

目录 手把手教你学Simulink 一、引言:当系统“善变”且“未知”——为什么需要自适应控制? 二、被控对象:二阶伺服系统(含未知时变增益) 1. 数学模型 三、方案一:模型参考自适应控制(MRAC) A. 参考模型设计 B. 控制律结构(直接 MRAC) C. 自适应律(Lyapunov 设计) 四、方案二:自校正控制(STC)——间接自适应 A. 思想:先辨识参数,再设计控制器 B. RLS 辨识算法 五、MATLAB 算法验证(MRAC 示例) 六、Simulink 建模仿真(MRAC

By Ne0inhk
数据结构七大排序算法图解——选择排序动图演示

数据结构七大排序算法图解——选择排序动图演示

系列文章目录 四、选择排序 紧接上一篇交换排序 前言: 1、直接选择排序 思想: 例题: 代码部分: 性能分析 2、树形选择排序 思想: 例题一: 例题二: 性能分析 3、堆排序 定义: 方法: 如何“筛选”? 例题: 如何“建初始堆”? 例题: 代码部分 性能分析 4、总结 直接选择排序 树形排序 堆排序 前言: 选择排序的主要思想是每一趟从待排序列中选取一个关键字值最小的记录,也即第 1 趟从 n 个记录中选取关键字值最小的记录,在第 2 趟中,从剩下的 n-1 个记录中选取关键字值最小的记录,直到整个序列中的记录都选完位置。这样,由选取记录的顺序便可得到按关键字值有序的序列。

By Ne0inhk