【前端】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

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

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

🌹欢迎来到《小5讲堂》🌹 🌹这是《前端》系列文章,每篇文章将以博主理解的角度展开讲解。🌹 🌹温馨提示:博主能力有限,理解水平有限,若有不对之处望指正!🌹 目录 * 前言 * 报错信息 * DeepSeek解答 * 问题原因 * 解决方案 * 最佳实践 * 异步和同步 * 1. 同步(Synchronous)操作 * 示例:同步数据更新 * 2. 异步(Asynchronous)操作 * 示例 1:`setTimeout` * 示例 2:`async/await` * 3. Vue 3 的异步更新机制 * 如何等待 DOM 更新? * 4. 生命周期钩子中的异步 * 5. 总结 * 最佳实践 * 文章推荐 前言 好久没有写前端,

WebRTC / HLS / HTTP-FLV 的本质区别与选型指南

WebRTC / HLS / HTTP-FLV 的本质区别与选型指南

在做系统级直播(而不是自己本地播放)时,很多人都会遇到一个经典问题: WebRTC、HLS、HTTP-FLV 到底有什么区别? 项目中到底该选哪个? 传输协议不同 → 延迟不同 → 兼容性 / 稳定性 / 成本不同 在系统里选哪个,核心看两点: 你要多低的延迟?你要多强的兼容和稳定? 一、简介 * WebRTC:超低延迟(0.2 ~ 1s),适合实时监控、无人机、实时指挥 * HLS(hls.js):最稳、最通用(5 ~ 15s),适合活动直播、课程、公开大并发 * HTTP-FLV(flv.js):中低延迟(1 ~ 3s),适合想比 HLS 低延迟,但不想用 WebRTC 的场景(

『AI辅助Skill』掌握三大AI设计Skill:前端独立完成产品设计全流程

『AI辅助Skill』掌握三大AI设计Skill:前端独立完成产品设计全流程

📣读完这篇文章里你能收获到 1. 🎨 掌握ASCII Design快速验证产品想法的方法 2. 🖼️ 学会Wireframe Design生成专业SVG线稿 3. 💻 了解三种Frontend Design Skills的选择策略 4. 🚀 掌握完整OPC工作流,1-2天完成产品开发 文章目录 * 前言 * 一、三大AI设计Skill工作流 * 1.1 传统流程的核心痛点 * 1.2 AI辅助工作流 * 二、ASCII与Wireframe设计技能 * 2.1 ASCII Design Skill —— 秒级验证产品想法 * 2.2 Wireframe Design Skill —— 专业级设计原型 * ASCII vs SVG:如何选择 * 核心特性 * 工作流程 * 三、Frontend Design Skills选择策略 * 3.1

前端错误处理最佳实践:别让你的应用崩溃了!

前端错误处理最佳实践:别让你的应用崩溃了! 毒舌时刻 错误处理?听起来就像是前端工程师为了显得自己很专业而特意搞的一套复杂流程。你以为随便加个try-catch就能解决所有错误?别做梦了!到时候你会发现,错误处理的代码比业务代码还多,维护起来比业务代码还麻烦。 你以为console.error就能记录所有错误?别天真了!console.error只会在控制台打印错误,用户根本看不到,也无法帮助你分析错误原因。还有那些所谓的错误监控工具,看起来高大上,用起来却各种问题。 为什么你需要这个 1. 提高用户体验:良好的错误处理可以避免应用崩溃,提高用户体验。 2. 减少生产环境问题:及时捕获和处理错误可以减少生产环境中的问题。 3. 便于调试:良好的错误处理可以帮助你更快地定位和解决问题。 4. 提高代码可靠性:错误处理可以提高代码的可靠性,减少意外情况的发生。 5. 监控和分析:错误处理可以帮助你监控和分析应用的运行状态,发现潜在问题。 反面教材 // 1. 忽略错误 function fetchData() { fetch('/api/data') .the