执行npm install axios 报错

报错代码:

npm : 无法加载文件 C:\Users\2409000014\AppData\Local\fnm_multishells\14956_1733122959640\npm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 a
bout_Execution_Policies。
所在位置 行:1 字符: 1
+ npm install axios
+ ~~~
    + CategoryInfo          : SecurityError: (:) [],PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess

问题分析:

  这个报错是由于 Windows PowerShell 的 执行策略(Execution Policy) 禁止运行脚本。npm 尝试运行一个 PowerShell 脚本

(npm.ps1),但你的系统由于安全策略限制,无法执行这个脚本。

报错信息中的关键部分是:无法加载文件 ... npm.ps1,因为在此系统上禁止运行脚本。

这意味着 PowerShell 的执行策略设置为禁止运行脚本,导致你无法执行 npm 命令。

 

解决方法:

你可以通过更改 PowerShell 的执行策略来解决这个问题。以下是如何操作:

1. 打开 PowerShell 作为管理员

  1. 按 Win + X,选择 Windows PowerShell (管理员) 或 Windows Terminal (管理员)
  2. 在弹出的管理员权限的 PowerShell 窗口中运行以下命令。

2. 查看当前执行策略

  运行以下命令来查看当前的执行策略:

Get-ExecutionPolicy

如果结果是 RestrictedAllSigned,就会出现无法执行脚本的情况。

3. 修改执行策略

 为了允许 PowerShell 执行脚本,你需要更改执行策略。运行以下命令,将执行策略设置为 RemoteSignedUnrestricted

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
  • RemoteSigned 允许本地脚本运行,但要求从网络下载的脚本必须有有效签名。
  • Unrestricted 允许所有脚本运行(不建议使用,因为可能会存在安全风险)。

如果你选择 RemoteSigned,这应该就足够解决大多数问题。

4. 确认修改

系统会提示你确认更改,输入 Y 并按 Enter 键。

5. 再次运行 npm 命令

修改执行策略后,关闭当前的 PowerShell 窗口,重新打开一个新的 PowerShell 窗口(普通模式或管理员模式),然后再尝试运行 npm 命令:

npm install axios

解释:

  • Execution Policy 是 PowerShell 的一种安全功能,用来防止恶意脚本的执行。默认情况下,Windows 的 PowerShell 执行策略可能会禁止执行非签名的脚本,导致 npm 无法运行。
  • 通过设置执行策略为 RemoteSigned,你允许 PowerShell 运行本地脚本和网络下载的已签名脚本,从而解决了问题。

注意:

  • Set-ExecutionPolicy 只会影响 PowerShell,不会影响其他的命令行工具(如 cmd 或 Git Bash)。在 PowerShell 中修改后,npm 命令应该能正常执行。

 

转自:chartGPT

posted @ 2024-12-02 15:15  信铁寒胜  阅读(29)  评论(0编辑  收藏  举报