nodemon.ps1
无法加载,因为此系统上禁用了运行脚本。更多
信息请参见about_Execution_Policies。我有一个解决方法来修复这个问题:
1. 使用管理员身份打开Windows PowerShell。
2. 运行以下命令:Set-ExecutionPolicy Unrestricted
这样可以解决问题,但会显示安全风险警告。
我的问题是:是否有其他不带安全风险的解决方法?目标是使用 nodemon
。nodemon.ps1
无法加载,因为此系统上禁用了运行脚本。更多
信息请参见about_Execution_Policies。1. 使用管理员身份打开Windows PowerShell。
2. 运行以下命令:Set-ExecutionPolicy Unrestricted
这样可以解决问题,但会显示安全风险警告。
我的问题是:是否有其他不带安全风险的解决方法?目标是使用 nodemon
。RemoteSigned
而不是Unrestricted
,如果可能的话,将策略限制在CurrentUser
上。Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
RemoteSigned:Windows 服务器计算机的默认执行策略。
除此之外,我不会过于担心这个问题,因为它并不是一个安全机制。请参考文档中的以下引用:
“执行策略并不是限制用户操作的安全系统。例如,当用户无法运行脚本时,他们可以轻松地通过在命令行中输入脚本内容来绕过策略。相反,执行策略帮助用户设定基本规则,并防止他们无意中违反这些规则。”
cmd.exe /c powershell -command Set-ExecutionPolicy RemoteSigned
。 - derekbaker783对于不知道如何使用Windows PowerShell解决此错误的人
Get-ExecutionPolicy
# You should get 'Restricted'
Set-ExecutionPolicy Unrestricted
Get-ExecutionPolicy
# You should get 'Unrestricted'
nodemon 'filename.js'
希望这对您有所帮助。
步骤1:前往此位置 --> 文件 C:\Users\Dell\AppData\Roaming\npm
步骤2:删除 nodemon.ps1 文件并运行命令。
允许在本地机器上运行远程签名脚本与安全风险完全无关。它基本上意味着您可以执行本地未签名脚本,即由您编写的脚本,而来自远程源(此处为nodemon)的脚本必须由受信任的权威进行签名。
P.S: 如果您使用Windows系统,您只需转到“设置”>>“更新和安全”>>“开发人员选项”>>选择旁边的框 更改执行策略以允许本地powershell脚本无需签名即可运行
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
我有一个更好的解决方案,只需进入 nodemon.ps1
文件所在文件夹(路径错误),然后删除 nodemon.ps1
文件。
现在进入终端并运行 nodemon -v
,如果你得到了一个版本号,那么问题就解决了。
您可以在不更改策略的情况下完成此操作。
C:\Users\HP MICROTECH\AppData\Roaming\npm\nodemon.ps1(错误屏幕上给出路径)。
只需转到此路径并删除nodemon.ps1文件即可。
这样就可以运行您的nodemon。
摆脱这个错误的最佳方法是
以管理员身份在您的Windows PowerShell中运行以下命令:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
基本上它会要求您更改执行策略,然后键入Y。
**OR**
在使用npm时,我建议在scripts
部分桥接nodemon命令,并保留安全设置。
package.json:
{
"scripts": {
"hmr": "nodemon index.js",
"nodemon": "npm run hmr",
"start": "node index.js"
},
"dependencies": {}
}
npm run nodemon
即可在后台运行hmr
行。这个命令可以正常工作。
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser