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

Launch4j:轻量级 Java 应用 Windows 打包方案

Launch4j:轻量级 Java 应用 Windows 打包方案

Launch4j 是一款开源工具,专注于将 Java 程序(JAR 文件)封装为 Windows 原生可执行文件(.exe)。其核心原理是为 JAR 文件添加一个轻量级启动器,用户无需安装 Java 环境即可直接双击运行,体验与原生应用无异。 核心优势与特性 无缝用户体验 通过生成的 .exe 文件,用户无需手动配置 Java 环境或执行命令行操作。启动器自动检测系统 JRE 或使用捆绑的运行时,实现开箱即用。 原生集成能力 支持为可执行文件嵌入自定义图标、版本信息、公司名称等元数据。提供进程名称控制、单实例运行、UAC 权限管理等功能,使 Java 应用更贴近原生软件体验。 高效打包机制 采用内存映射技术直接加载内嵌 JAR,避免释放临时文件,既提升启动速度又降低代码泄露风险。支持 32/64 位架构,

By Ne0inhk
使用飞算JavaAI搞定学生管理系统

使用飞算JavaAI搞定学生管理系统

标签<#JavaAI 飞算 JavaAI 的开发流程颠覆了我对传统开发的认知,整个过程就像和一位经验丰富的架构师实时协作,一下是我对开发学生管理系统的一些理解余流程操作 项目初始化阶段:在打开飞算 JavaAI 后,我创建了名一个"JavaProject" 的新项目,AI自动生成了基础的项目结构,包括IDEA配置文件夹、src 源代码目录、SQL文件夹和核心的 pom.xml 文件。这一步省去了传统开发中手动配置 Maven、设置项目结构的繁琐过程。 这里我自己的实操SQL数据库导入不了 但是在返回代码生成部分,表格设计这一块会有一个自动表格设计,在这里能帮你连接到数据库,后续的JavaAI就能按照这个数据库进行快速创作。 需求定义阶段:在飞算 JavaAI 的智能引导模块,输入了详细的需求,要飞算avaAI开发一个学生成绩管理系统,包含学生信息管理、课程管理、成绩录入、成绩统计分析、数据导出等功能,采用 SpringBoot 框架,MySQL 数据库。让我惊讶的是,

By Ne0inhk
JAVA 动态代理:从原理剖析到实战应用

JAVA 动态代理:从原理剖析到实战应用

JAVA 动态代理:从原理剖析到实战应用 1.1 本章学习目标与重点 💡 掌握动态代理的核心概念与分类,理解动态代理在 Java 开发中的核心价值。 💡 熟练掌握 JDK 动态代理的实现流程与核心 API,能够独立编写 JDK 动态代理代码。 💡 了解 CGLIB 动态代理的实现原理与适用场景,对比 JDK 动态代理与 CGLIB 动态代理的差异。 💡 结合实际业务场景,掌握动态代理在 AOP 编程、权限控制、日志记录等场景中的实战应用。 ⚠️ 本章重点是 JDK 动态代理的核心实现 和 动态代理在 AOP 中的实战应用,这是 Java 高级开发与框架设计的必备技能。 1.2 动态代理的核心概念与价值 1.2.1 什么是动态代理 💡 动态代理 是

By Ne0inhk
Flutter 三方库 js_wrapping 的鸿蒙化适配指南 - 实现 Dart 与 JavaScript 的无缝对象包装、支持强类型回调与属性映射

Flutter 三方库 js_wrapping 的鸿蒙化适配指南 - 实现 Dart 与 JavaScript 的无缝对象包装、支持强类型回调与属性映射

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 js_wrapping 的鸿蒙化适配指南 - 实现 Dart 与 JavaScript 的无缝对象包装、支持强类型回调与属性映射 前言 在进行 Flutter for OpenHarmony 的 Web 混合开发时,频繁地在 Dart 层与底层 JavaScript 环境进行数据交互是不可避免的。虽然官方提供了基本的 dart:js,但在处理复杂的 JS 对象和回调时,代码往往会变得杂乱无章。js_wrapping 提供了一个更优雅的、类型安全的包装层。本文将指导大家如何在鸿蒙端利用该库提升 JS 互操作的开发体验。 一、原理解析 / 概念介绍 1.1 基础原理

By Ne0inhk