Win11 Cannot Load Yarn
在使用 Yarn 作为软件包管理器时,有时会遇到以下错误信息:“无法加载文件 D:\nodejs\yarn.ps1,因为在此系统上禁止运行脚本”。
当在 Windows 系统上运行 Yarn 命令时,Yarn 会尝试加载一个名为 yarn.ps1 的 PowerShell 脚本文件,由于默认情况下禁运行未签名的脚本,所以会导致加载失败并引发错误。
解决方法:更改默认 (LocalMachine) 作用域的执行策略,使用 “以管理员身份运行” 选项启动 Windows PowerShell
- 以管理员身份运行
Window PowerShell
执行 get-ExecutionPolicy
命令,查看当前的执行策略;
- 查看返回值是否为
Restricted
,意思是当前是受限制的;
- 执行
set-ExecutionPolicy RemoteSigned
命令,更改 Window PowerShell
的执行策略
- 是否要更改执行策略?执行
Y
,或直接回车。
| PS C:\windows\system32> get-ExecutionPolicy
Restricted
PS C:\windows\system32> set-ExecutionPolicy RemoteSigned
执行策略更改
执行策略可帮助你防止执行不信任的脚本。更改执行策略可能会产生安全风险,如 https:/go.microsoft.com/fwlink/?LinkID=135170
中的 about_Execution_Policies 帮助主题所述。是否要更改执行策略?
[Y] 是(Y) [A] 全是(A) [N] 否(N) [L] 全否(L) [S] 暂停(S) [?] 帮助 (默认值为“N”): Y
PS C:\windows\system32> set-ExecutionPolicy RemoteSigned
|
再次自测 yarn 命令是否正常使用
| PS D:\Project\chatai-st> npm install -g yarn
changed 1 package in 990ms
PS D:\Project\chatai-st> yarn --version
1.22.21
PS D:\Project\chatai-st> yarn config list
yarn config v1.22.21
info yarn config
{
'version-tag-prefix': 'v',
'version-git-tag': true,
'version-commit-hooks': true,
'version-git-sign': false,
'version-git-message': 'v%s',
'init-version': '1.0.0',
'init-license': 'MIT',
'save-prefix': '^',
'bin-links': true,
'ignore-scripts': false,
'ignore-optional': false,
registry: 'https://registry.yarnpkg.com',
'strict-ssl': true,
'user-agent': 'yarn/1.22.21 npm/? node/v18.18.2 win32 x64'
}
info npm config
{
registry: 'http://registry.npmmirror.com',
prefix: 'D:\\Tools\\Node\\node_global',
cache: 'D:\\Tools\\Node\\node_cache'
}
Done in 0.07s.
|