yarn : 无法加载文件 D:xxx\node_global\yarn.ps1 因为在此系统上禁止运行脚本

本文记录了在Windows环境下使用PowerShell执行yarn命令时遇到的脚本禁止运行错误,以及如何通过修改PowerShell执行策略为RemoteSigned来解决这个问题。详细步骤包括以管理员权限运行PowerShell,执行set-ExecutionPolicy RemoteSigned命令并确认更改,然后验证yarn命令是否能正常工作。最后,成功执行yarn install加载依赖包。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

记一次 yarn 错误排查解决。在 Windows 系统中使用 Windows PowerShell 执行 yarn 命令,报错为:

yarn : 无法加载文件 D:xxx\node_global\yarn.ps1,因为在此系统上禁止运行脚本,如下图:

导致此错误的原因是,PowerShell 执行策略,默认设置为Restricted不加载配置文件或运行脚本。需变更设置为RemoteSigned,变更过程为:

运行 Windows PowerShell(管理员),执行命令set-ExecutionPolicy RemoteSigned更改 PowerShell 执行策略,过程中提示询问是否要更改执行策略?,选择 A 或 Y 。如下图:

设置完毕,检验执行yarn config get registry命令,可正常加载执行脚本。

使用get-ExecutionPolicy命令,可查看当前 PowerShell 执行策略类型。

在vscode中执行 yarn install:

 

最后加载依赖包成功。 

 

### Yarn Preinstall 错误分析与解决方案 在遇到 `yarn preinstall` 脚本执行失败的情况下,通常是因为权限不足或者环境配置不正确引起的。以下是针对该问题的具体原因和解决方法。 #### 原因分析 当运行 `sudo npm install -g yarn` 时,可能会触发预安装脚本 `preinstall.js` 的执行。然而,在某些环境中(尤其是 Linux 或 Windows),由于权限设置或其他因素的影响,可能导致此脚本无法正常运行[^1]。此外,如果系统的安全策略较为严格(例如 PowerShell 执行策略禁用了脚本运行),也可能引发类似的错误[^4]。 --- #### 解决方案 ##### 方法一:跳过预安装脚本 可以通过修改命令的方式绕过 `preinstall.js` 的执行。具体操作如下: ```bash npm config set ignore-scripts true sudo npm install -g yarn npm config set ignore-scripts false ``` 上述命令会临时忽略所有的安装脚本,从而避免 `preinstall.js` 导致的错误发生。 --- ##### 方法二:手动调整 Node.js 和 NPM 权限 有时全局安装工具可能需要更高的权限才能完成特定的操作。可以尝试通过以下方式重新配置权限: 1. **更改目录所有权** 如果使用的是 Ubuntu 系统,可以将 `/usr/local/lib/node_modules/` 目录的所有权更改为当前用户: ```bash sudo chown -R $(whoami) /usr/local/lib/node_modules/ ``` 2. **验证并修复 NPM 缓存** 清理缓存有助于排除潜在的依赖冲突问题: ```bash npm cache clean --force ``` 之后再次尝试安装 Yarn: ```bash sudo npm install -g yarn ``` --- ##### 方法三:更新或重置执行策略(适用于 Windows) 对于 Windows 用户而言,PowerShell 默认的安全策略可能阻止了 `.ps1` 文件的执行。可以通过以下命令放宽执行策略限制: ```powershell Set-ExecutionPolicy RemoteSigned -Scope CurrentUser ``` 输入 `Y` 同意更改后,再尝试运行 `yarn run dev` 或其他相关命令。 --- ##### 方法四:切换到最新版本的 Yarn 考虑到旧版可能存在兼容性问题,建议升级至最新的稳定版本。可以直接从官方源下载独立的 Yarn 安装程序替代基于 NPM 的安装流程[^2]: 访问官网地址 https://classic.yarnpkg.com/en/docs/install/#windows-stable 下载适合平台的可执行文件,并按照提示完成安装过程。 随后可通过以下指令检验是否成功部署: ```bash yarn --version ``` --- ### 总结 以上提供了四种不同的处理思路以应对不同场景下的需求。无论是通过调整权限、优化环境变量还是更换安装途径都能有效缓解此类异常现象的发生。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

csdn_aspnet

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值