如何解决如何解决错误-无法加载nodemon.ps1,因为此系统上的运行脚本被禁用没有安全风险?
终端错误:无法加载nodemon.ps1,因为此系统上禁用了运行脚本。欲了解更多 信息,请参阅https://go.microsoft.com/fwlink/?LinkID=135170上的about_Execution_Policies。
我有一种解决方法,可以通过这种方式
- 使用“以管理员身份运行”打开Windows PowerShell
- 运行此命令:Set-ExecutionPolicy Unrestricted
这可以解决问题,但是这样系统会显示“安全风险警告”。我的问题:还有其他方法可以解决此问题而不会带来安全风险吗?目标是使用nodemon。
解决方法
我建议使用RemoteSigned
而不是Unrestricted
,并在可能的情况下将策略限制为当前用户。
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
RemoteSigned:“ Windows服务器计算机的默认执行策略。”
除此之外,我不会对此太担心,因为它并非旨在成为一种安全机制。请参见the docs:
的引文,“执行策略不是限制用户的安全系统 动作。例如,用户可以通过键入 无法运行脚本时,请在命令行中输入脚本内容。 相反,执行策略可帮助用户设置基本规则并 防止他们无意间违反它们。”
对于那些不知道如何使用 Windows PowerShell 解决此错误的人
- 打开 PowerShell(以管理员身份运行)
- 使用此命令检查当前的执行策略
Get-ExecutionPolicy
# You should get 'Restricted'
- 运行此命令使其“不受限制”
Set-ExecutionPolicy Unrestricted
- 再次检查是否通过运行此命令更改了执行策略
Get-ExecutionPolicy
# You should get 'Unrestricted'
- 现在尝试在您的项目上运行 nodemon
nodemon 'filename.js'
希望对你有帮助
,第 1 步:转到此位置 --> 文件 C:\Users\Dell\AppData\Roaming\npm
第二步:删除nodemon.ps1文件,运行命令。
与允许远程签名脚本在本地计算机上运行没有任何安全风险。基本上,这意味着您可以执行本地未签名的脚本,即您编写的脚本,而来自远程源(本例中为nodemon)的脚本必须由受信任的机构签名。
P.S:如果您使用的是Windows,则可以转到设置>>更新和安全>>对于开发人员>>选中false
旁边的框
我有一个更好的解决方案,只需转到 nodemon.ps1
所在的文件夹(路径错误)并删除 nodemon.ps1
文件。
现在转到终端并运行 nodemon -v
,如果你得到一个版本,那么问题就解决了。
在使用 npm 时,我建议在 scripts
部分桥接 nodemon 命令并保持安全设置不变。
package.json:
{
"scripts": {
"hmr": "nodemon index.js","nodemon": "npm run hmr","start": "node index.js"
},"dependencies": {}
}
只需执行 npm run nodemon
即可在后台运行 hmr
行。
这个 cmd 运行正常。
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
,这可能会有所帮助,Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
,在 Windows 10 中。
在管理和系统变量中为 npm 映射了错误的路径。转到环境变量并更改 PATH
变量下的那些路径。
第 1 步:
C:\Program Files\nodejs\node_modules\npm
到 C:\Users\Administrator\AppData\Roaming\npm
第 2 步:
然后重新启动我的系统。
效果很好。
,nodemon:无法加载文件 C:\Users\HP\AppData\Roaming\npm\nodemon.ps1,因为在此系统上禁用了运行脚本。更多
信息,请参阅 https://go.microsoft.com/fwlink/?LinkID=135170 上的 about_Execution_Policies。
如果有人遇到这个问题......所以我的意见是只需进入文件并删除 nodemon.ps1 文件,然后尝试使用 nodemon 文件名
,您可以在不更改政策的情况下做到这一点。 C:\Users\HP MICROTECH\AppData\Roaming\npm\nodemon.ps1(路径在错误界面给出)
直接到这个路径删除nodemon.ps1
然后你的 nodemon 就运行起来了。
,我用以下命令解决了我的问题。
=>以管理员身份运行 PowerShell
=>运行以下命令
get-ExecutionPolicy
=>如果受限;运行以下命令
set-ExecutionPolicy Unrestricted
=>并设置为全部
=>再次检查。命令
get-ExecutionPolicy
它将不受限制并解决问题
,转到文件夹:- C:\Users\admin\AppData\Roaming\npm
删除 nodemon 或 nodemon.ps1 的 powershell 文件。 你会很高兴的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。