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

API 设计的 7 个致命错误:为什么你的接口让前端想打人

API 设计的 7 个致命错误:为什么你的接口让前端想打人

凌晨一点,前端在群里 @了你 “后端大哥,为什么删除用户的接口是 POST?” “为什么获取用户列表要传 20 个参数?” “为什么同一个错误,有时返回 200,有时返回 500?” “能不能别再改接口了?这是这个月第三次了!” 你看着手机,心里一万头草泥马奔腾而过。 明明功能都实现了,为什么前端还是不满意? 因为你的 API 设计,可能犯了这 7 个致命错误。 今天,我们就来聊聊那些让前端抓狂、让自己背锅、让项目延期的 API 设计问题。 错误 1:把数据库表结构直接暴露成 API 灾难现场 // ❌ 直接暴露数据库结构GET/api/user_account_info?user_id=123// 返回{"user_id"

从Web到AI:Skills市场与共享经济实战指南

从Web到AI:Skills市场与共享经济实战指南

图片来源网络,侵权联系删。 Skills生态系统相关系列文章 从Web到AI:构建行业专属Skills生态系统的实战指南与未来展望 从Web到AI:金融/医疗/教育行业专属Skills生态系统设计实战 从Web到AI:Skills市场与共享经济实战指南 文章目录 * 1. 当NPM遇见AI技能市场 * 2. Web生态与Skills市场的基因同源性 * 2.1 核心概念映射表(Web→AI) * 2.2 企业级Skills市场架构 * 3. 用共享经济思维重构Skills交易 * 3.1 交易模型设计(类比Stripe支付) * 3.2 技能质量门禁(类比NPM质量评分) * 4. 三端协同Skills市场系统 企业级实战 * 4.1 项目结构(Spring Cloud + Vue3 + 小程序) * 4.2 核心功能代码实现 * 5. Web开发者转型Skills市场的痛点解决方案 * 5.

ChatTTS WebUI界面定制化:修改主题、添加快捷键、导出配置模板

ChatTTS WebUI界面定制化:修改主题、添加快捷键、导出配置模板 1. 为什么需要定制你的ChatTTS WebUI? 你刚打开ChatTTS WebUI,被它自然到让人起鸡皮疙瘩的语音惊艳到了——但几轮试用后,可能开始觉得: * 默认的浅色界面看久了眼睛累; * 每次都要鼠标点“生成”按钮,手速跟不上脑速; * 找到一个完美音色后,下次想复用却要翻日志、手动输Seed,一不小心就忘了; * 团队协作时,想把“语速5+固定Seed 11451+带笑声停顿”的整套设置一键分享给同事,却只能截图或口述。 这些问题,都不是模型能力的问题,而是界面体验的缺口。 ChatTTS本身是开源的,它的WebUI基于Gradio构建——而Gradio天生支持深度定制:改颜色、加键盘操作、存/载配置、甚至嵌入自定义CSS。 本文不讲模型原理,不跑训练,只聚焦一件事:让你的ChatTTS WebUI真正长成你想要的样子。 全程无需改模型代码,所有操作在WebUI启动前或启动时完成,小白可照着做,5分钟生效。

【二十】前端现代化:从传统到现代的前端技术演进

【二十】前端现代化:从传统到现代的前端技术演进 核心观点 前端技术的发展是一场革命,它从简单的静态页面,演变为复杂的单页应用,再到如今的微前端架构。前端现代化不仅仅是技术的更新,更是开发思维和开发方式的转变。这是我在过去十年前端开发生涯中最深刻的体会。 我的前端开发故事 从jQuery到现代框架:前端开发的蜕变 毕业后不久,我开始了我的前端开发生涯。那时候,前端开发的主要工具是HTML、CSS和jQuery。我记得我的第一个项目是一个企业官网,我用jQuery实现了图片轮播、表单验证、导航菜单等功能。虽然代码有点混乱,但看到页面能够正常运行,我还是很有成就感的。 随着项目的复杂度增加,我开始感受到jQuery的局限性。2014年,我参与了一个电商项目,需要实现购物车、商品详情、订单流程等复杂功能。我用jQuery编写了大量的代码,结果发现: * 代码混乱:HTML、CSS和JavaScript混合在一起,难以维护 * 事件处理复杂:大量的事件绑定和回调函数,导致代码嵌套层级很深 * 状态管理困难:购物车的状态需要在多个页面之间共享,实现起来很复杂 * 性能问题