跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI 生图工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
JavaScriptNode.js大前端

Win11 安装 Node.js 后 npm install 报错:禁止运行脚本修复方案

解决 Windows 11 系统下安装 Node.js 后运行 npm install 报错“禁止运行脚本”的问题。错误源于 PowerShell 执行策略限制。提供四种解决方案,推荐使用管理员身份运行 PowerShell 并设置 ExecutionPolicy 为 RemoteSigned,以平衡安全性与便利性。同时简要介绍了 Node.js 的核心特点、架构及常用命令。

修罗发布于 2026/4/6更新于 2026/9/664 浏览
Win11 安装 Node.js 后 npm install 报错:禁止运行脚本修复方案

问题背景

在 Windows 11 系统下安装最新版 Node.js 后,未重启电脑直接运行 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 保存对应的依赖包。

执行策略设置截图

npm 安装过程

方法 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 简介

如果对 Node.js 概念有点忘记,可以参考以下详细介绍回顾。

什么是 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 install node
验证安装
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;
async function readFile() {
  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.js
const math = require('./math');
console.log(math.add(2, 3)); // 5

包管理 - npm

常用命令
npm init # 初始化项目
npm install express # 安装包
npm install -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 从浏览器走向服务器,开创了全栈开发的新时代!

目录

  1. 问题背景
  2. 解决方案
  3. 方法 1:以管理员身份运行 PowerShell 并更改执行策略
  4. 方法 2:只为当前会话临时允许
  5. 方法 3:使用命令提示符 (CMD)
  6. 方法 4:绕过策略执行单个脚本
  7. 推荐解决方案
  8. Node.js 简介
  9. 什么是 Node.js?
  10. 核心特点
  11. 1. 非阻塞 I/O 和事件驱动
  12. 2. 单线程但高并发
  13. 架构组成
  14. 1. V8 JavaScript 引擎
  15. 2. LibUV 库
  16. 3. 核心模块
  17. 安装与使用
  18. 安装
  19. 下载安装包从官网
  20. 或使用包管理器
  21. Windows Chocolatey: choco install nodejs
  22. macOS Homebrew: brew install node
  23. 验证安装
  24. 基本用法示例
  25. 1. 创建 HTTP 服务器
  26. 2. 文件操作
  27. 3. 模块系统
  28. 包管理 - npm
  29. 常用命令
  30. package.json 示例
  31. 应用场景
  32. 适合的场景
  33. 不适合的场景
  34. 生态系统
  35. 流行框架和库
  36. 开发工具
  37. 优势与劣势
  38. 优势 ✅
  39. 劣势 ❌
  40. 学习路径建议

更多推荐文章

查看全部
  • OpenClaw 深度解析:AI 智能体的能力边界与潜在风险
  • 现代 C++ 编程核心基础与高级特性指南
  • MySQL 数据类型详解
  • AI 产品难点解析:从 API 调用到工程化落地
  • Neo4j 安装与配置教程(Windows/MacOS/Linux)
  • TarsGo 多语言生态:如何与 Java、C++、PHP 等服务互通
  • DeepSeek-R1 大模型基于 MS-Swift 框架的部署、推理与微调实践
  • Linux 初始网络(下):局域网通信与跨网段传输原理
  • 基于Llama-Factory/Qwen2.5-1.5b自定义数据集LoRA微调实战【PPO/RLHF/训练/评估】
  • Python for 循环详解与实战案例
  • 网络安全从业者需掌握的十大核心基础知识
  • 深入理解扩散模型:原理、应用与实战解析
  • 汽车雷达多径场景下的幽灵目标检测:论文精读
  • Java 后端实习复盘:企业级项目实战与核心架构解析
  • 基于 Python 的 B 站充电视频下载工具
  • 自动化 B 站直播间搭建与神奇弹幕机器人配置指南
  • 中国 AIGC 应用全景图谱发布及 2024 值得关注的企业产品榜单
  • Windows 编译 SD Flash-Attention 2.8.0 Wheel
  • OpenClaw 本地部署与飞书机器人接入指南
  • SpringAI Agent 实战:利用 Skills 构建代码评审智能体

相关免费在线工具

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online

  • JavaScript 压缩与混淆

    Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online