运行vue : 无法加载文件 C:\Program Files\nodejs\node_global\vue.ps1,因为在此系统上禁止运行脚本。

报错背景:

重装了win10系统,然后准备安装Vue,这个时候我已经安装好了node.js和npm,输入node -v和npm -v都有正确输出,但是每次输入npm install -g @vue/cli 安装的时候,就会报错.

大家安装node.js的时候最好就是默认路径(C:\Program Files\nodejs),别去修改不然很多报错.(个人建议,我就是修改到D盘了然后很多错误,Path环境变量和各种路径都要修改,非常麻烦.)

npm install -g @vue/cli >> npm error code ENOENT npm error syscall mkdir npm error path C:\WINDOWS\system32\=C:\Program Files\nodejs\node_global npm error errno -4058 npm error enoent ENOENT: no such file or directory, mkdir 'C:\WINDOWS\system32\=C:\Program Files\nodejs\node_global' npm error enoent This is related to npm not being able to find a file. npm error enoent npm error A complete log of this run can be found in: C:\Program Files\nodejs\node_cache\_logs\2024-06-30T01_27_30_199Z-debug-0.log

复制代码
npm install -g @vue/cli
>>
npm error code ENOENT
npm error syscall mkdir
npm error path C:\WINDOWS\system32\=C:\Program Files\nodejs\node_global
npm error errno -4058
npm error enoent ENOENT: no such file or directory, mkdir 'C:\WINDOWS\system32\=C:\Program Files\nodejs\node_global'
npm error enoent This is related to npm not being able to find a file.
npm error enoent

npm error A complete log of this run can be found in: C:\Program Files\nodejs\node_cache\_logs\2024-06-30T01_27_30_199Z-debug-0.log

首先我们按照下面的步骤先走一遍排查问题,保持耐心!

首先确定是否为Node或者NPM配置路径问题

这是一个常见的错误,通常是由于 Node.js 和 npm 的路径配置不正确引起的。我们可以通过以下步骤来解决这个问题:

步骤一:检查 npm 配置

首先,我们需要检查和更新 npm 的配置路径。

  1. 打开命令提示符 (在 Windows 上,按 Win + R,输入 cmd,然后按回车)。

  2. 检查 npm 全局安装路径和缓存路径:

    运行以下命令来查看当前的 npm 配置:

    复制代码
    npm config list
  3. 更新 npm 配置路径:

    设置 npm 的全局安装路径和缓存路径(在这一步前,你要在nodejs文件夹里面先创建这两个文件夹,空的就行):

    复制代码
    npm config set prefix "C:\Program Files\nodejs\node_global"
    npm config set cache "C:\Program Files\nodejs\node_cache"

步骤二:创建缺失的目录

确保路径中提到的目录存在。

  1. 打开文件资源管理器,导航到 C:\Program Files\nodejs
  2. 创建名为 node_globalnode_cache 的文件夹。

步骤三:更新系统环境变量

确保 npm 的全局安装路径在系统的环境变量中正确配置。

  1. 打开系统属性:

    • 右键点击"此电脑"或"我的电脑",选择"属性"。
    • 点击"高级系统设置"。
    • 在"系统属性"窗口中,点击"环境变量"。
  2. 编辑系统变量 Path:

    • 在"系统变量"部分,找到并选择 Path 变量,然后点击"编辑"。
    • 点击"新建",添加以下路径

    C:\Program Files\nodejs\node_global

3.添加 npm 的全局安装路径:

  1. 在"用户变量"部分,点击"新建",添加一个新的变量:

  2. 变量值: C:\Program Files\nodejs\node_global\node_modules

  3. 变量名: NODE_PATH

步骤四:

重新安装 Vue CLI

  1. 重启命令提示符 以使更改生效。
  2. **安装 Vue CLI,在powershell输入:**npm install -g @vue/cli
  3. **验证安装,在powershell中输入:**vue --version

缩小错误范围,定位为NPM配置问题

安装Vue CLI的时候仍然报错,我们输入代码

复制代码
npm config list

来查看我们的npm配置信息

复制代码
PS C:\WINDOWS\system32> npm config list
>>
; "builtin" config from C:\Program Files\nodejs\node_modules\npm\npmrc

; prefix = "C:\\Users\\ultra\\AppData\\Roaming\\npm" ; overridden by user

; "user" config from C:\Users\ultra\.npmrc

cache = "C:\\Program Files\\nodejs\\node_cache"
prefix = "C:\\WINDOWS\\system32\\=C:\\Program Files\\nodejs\\node_global"
registry = "https://registry.npm.taobao.org"
strict-ssl = false

; node bin location = C:\Program Files\nodejs\node.exe
; node version = v20.15.0
; npm local prefix = C:\WINDOWS\system32
; npm version = 10.7.0
; cwd = C:\WINDOWS\system32
; HOME = C:\Users\ultra
; Run npm config ls -l to show all defaults.

PS C:\WINDOWS\system32> npm config list >> ; "builtin" config from C:\Program Files\nodejs\node_modules\npm\npmrc ; prefix = "C:\\Users\\ultra\\AppData\\Roaming\\npm" ; overridden by user ; "user" config from C:\Users\ultra\.npmrc cache = "C:\\Program Files\\nodejs\\node_cache" prefix = "C:\\WINDOWS\\system32\\=C:\\Program Files\\nodejs\\node_global" registry = "https://registry.npm.taobao.org" strict-ssl = false ; node bin location = C:\Program Files\nodejs\node.exe ; node version = v20.15.0 ; npm local prefix = C:\WINDOWS\system32 ; npm version = 10.7.0 ; cwd = C:\WINDOWS\system32 ; HOME = C:\Users\ultra ; Run npm config ls -l to show all defaults.

看起来你的 npm 配置路径有些问题,特别是全局安装路径(prefix)的配置。你需要修正这些路径。以下是详细的修正步骤:

步骤一:修正 npm 配置路径

  • 打开命令提示符 (在 Windows 上,按 Win + R,输入 cmd,然后按回车)。

  • 删除错误的 npm 配置:

复制代码
  npm config delete prefix

  npm config delete cache
  • 设置正确的 npm 配置路径:
复制代码
  npm config set prefix "C:\\Users\\ultra\\AppData\\Roaming\\npm"
  npm config set cache "C:\\Users\\ultra\\AppData\\Roaming\\npm-cache"

步骤二:更新系统环境变量

确保 npm 的全局安装路径在系统的环境变量中正确配置。

  • 打开系统属性:

    • 右键点击"此电脑"或"我的电脑",选择"属性"。
    • 点击"高级系统设置"。
    • 在"系统属性"窗口中,点击"环境变量"。
  • 编辑系统变量 Path:

    • 在"系统变量"部分,找到并选择 Path 变量,然后点击"编辑"。
    • 确保 C:\Users\ultra\AppData\Roaming\npmPath 变量中。
  • 添加 npm 的全局安装路径:

    • 在"用户变量"部分,点击"新建",添加一个新的变量:
      • 变量名: NODE_PATH
      • 变量值: C:\Users\ultra\AppData\Roaming\npm\node_modules

步骤三:重新安装 Vue CLI

  1. 重启命令提示符 以使更改生效。
  2. 安装 Vue CLI:
复制代码
   npm install -g @vue/cli
  1. 验证 Vue CLI 安装:

    复制代码
    vue --version

    但还是报错,说脚本还是无法加载

排除配置路径问题,定位为Windows 的 PowerShell 执行策略阻止了脚本的运行所导致的问题

由于在运行到步骤四的时候,Vue已经成功安装了.但是运行vue --version,查看版本的时候报错了.

复制代码
安装好了 但是运行命令的时候 vue --version
>>
vue : 无法加载文件 C:\Program Files\nodejs\node_global\vue.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:
/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1
+ vue --version
+ ~~~
    + CategoryInfo          : SecurityError: (:) [],PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess

这个错误是由于 Windows 的 PowerShell 执行策略阻止了脚本的运行。你需要更改 PowerShell 的执行策略以允许运行 Vue CLI 脚本。以下是解决方法:

步骤一:更改 PowerShell 执行策略

  1. 打开 PowerShell

    • Win + R,输入 powershell,然后按回车。
  2. 运行以下命令以允许执行脚本

    复制代码
    Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned

    当系统提示时,输入 Y 并按回车以确认更改

步骤二:验证 Vue CLI 安装

  1. 重新打开 PowerShell 或命令提示符(推荐使用普通命令提示符而不是 PowerShell)。

  2. 验证 Vue CLI 安装

    vue --version

说明

  • RemoteSigned 策略允许你在本地运行未签名的脚本,但从互联网下载的脚本必须有签名。

  • 如果你不确定当前的执行策略,可以使用以下命令查看:

    复制代码
    Get-ExecutionPolicy -List

然后就能正确安装了!

相关推荐
Lupino21 分钟前
被 React “玩弄”的 24 小时:为了修一个不存在的 Bug,我给大模型送了顿火锅钱
前端·react.js
米丘27 分钟前
了解 Javascript 模块化,更好地掌握 Vite 、Webpack、Rollup 等打包工具
前端
Heo29 分钟前
深入 React19 Diff 算法
前端·javascript·面试
滕青山30 分钟前
个人所得税计算器 在线工具核心JS实现
前端·javascript·vue.js
小怪点点31 分钟前
手写promise
前端·promise
国思RDIF框架39 分钟前
RDIFramework.NET Web 敏捷开发框架 V6.3 发布 (.NET8+、Framework 双引擎)
前端
颜酱40 分钟前
从0到1实现LFU缓存:思路拆解+代码落地
javascript·后端·算法
Mintopia40 分钟前
如何在有限的时间里,活出几倍的人生
前端
炫饭第一名41 分钟前
速通Canvas指北🦮——变形、渐变与阴影篇
前端·javascript·程序员
Neptune142 分钟前
让我带你迅速吃透React组件通信:从入门到精通(上篇)
前端·javascript