项目场景:使用nodemon命令报错
报错如下:
nodemon : 无法加载文件 D:\ProgramFiles\nodejs\node_global\nodemon.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https
:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1
+ nodemon .\2.express托管静态资源.js
+ ~~~~~~~
+ CategoryInfo : SecurityError: (:) [],PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
错误原因
出现上述错误可能是因为你的系统安全策略限制了 PowerShell 脚本的执行。
Windows 系统默认情况下会启用一种称为“执行策略(Execution Policy)”的安全机制,用于控制脚本的执行。如果执行策略设置为禁止执行脚本,就会出现类似的错误。
要解决此问题,你可以按照以下步骤进行操作:
1. 打开一个以管理员身份运行的 PowerShell 窗口。你可以通过按下 `Win + X` 键组合,然后选择“Windows PowerShell(管理员)”来打开。
2. 在 PowerShell 窗口中,输入以下命令来查看当前的执行策略设置:
Get-ExecutionPolicy
3. 如果返回的结果不是 `RemoteSigned` 或 `Unrestricted`,则说明执行策略限制了脚本的执行。你可以使用以下命令来修改执行策略:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
这将允许当前用户在本地计算机上执行自己编写的脚本。如果你想要更加灵活的权限,可以将 `RemoteSigned` 替换为 `Unrestricted`。
4. 确认修改后,再次尝试运行 `nodemon` 命令,应该不再出现相同的权限错误。
请注意,修改执行策略可能会导致系统的安全性降低。如果你担心安全问题,可以在完成需要执行脚本的操作后,将执行策略恢复为默认设置。使用以下命令将执行策略还原为默认值:
Set-ExecutionPolicy Restricted -Scope CurrentUser
操作如下: