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

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

解决方案
这个错误是因为 PowerShell 的执行策略限制导致的。以下是几种解决方法:
方法1:以管理员身份运行 PowerShell 并更改执行策略
- 以管理员身份打开 PowerShell
- 在开始菜单搜索 “PowerShell”
- 右键点击 “Windows PowerShell”,选择 “以管理员身份运行”
- 执行以下命令:
Set-ExecutionPolicy-ExecutionPolicy RemoteSigned -Scope CurrentUser - 或者更宽松的策略:
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 变化
学习路径建议
- 基础 - JavaScript 语法、Node.js 核心模块
- 框架 - Express.js、Koa
- 数据库 - MongoDB、MySQL
- 认证 - JWT、OAuth
- 部署 - 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的表格常用功能,表单提交事件,表格下拉按钮点击事件,表格外的按钮点击事件
【Echarts】曲线图上方显示数字以及自定义值,标题和副标题居中,鼠标上显示信息以及自定义信息
【Echarts】柱状图上方显示数字以及自定义值,标题和副标题居中,鼠标上显示信息以及自定义信息