如何修复错误- nodemon.ps1 无法加载,因为 运行 脚本在此系统上被禁用(没有安全风险)?
How to fix error- nodemon.ps1 cannot be loaded because running scripts is disabled on this system, (without security risk)?
终端错误:nodemon.ps1
无法加载,因为 运行 脚本在此系统上被禁用。更多
信息,请参阅 about_Execution_Policies
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7.2
我有解决问题的方法:
1. Open Windows PowerShell with Run as Administrator
2. Run this command: Set-ExecutionPolicy Unrestricted
这解决了问题,但这样系统会显示安全风险警告。
我的问题:有没有其他方法可以在没有安全风险的情况下解决这个问题?目标是使用 nodemon
.
我建议使用 RemoteSigned
而不是 Unrestricted
,并尽可能将政策限制为 CurrentUser
。
运行 Powershell 作为管理员,然后:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
RemoteSigned:“Windows 服务器计算机的默认执行策略。”
除此之外,我不会太担心它,因为它不是一种安全机制。请参阅 the docs:
中的这句话
"The execution policy isn't a security system that restricts user
actions. For example, users can easily bypass a policy by typing the
script contents at the command line when they cannot run a script.
Instead, the execution policy helps users to set basic rules and
prevents them from violating them unintentionally."
允许远程签名脚本在本地计算机上 运行 没有任何安全风险。它基本上意味着您可以执行本地未签名的脚本,即您编写的脚本,而来自远程源(在本例中为 nodemon)的脚本必须由受信任的机构签名。
P.S:如果您使用的是 windows,您只需转到设置 >> 更新和安全 >> 开发人员 >> 选中 change execution policy to allow local powershell scripts to run without signing
[= 旁边的框11=]
这个命令可能有帮助
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
在使用 npm 时,我建议在 scripts
部分桥接 nodemon 命令,并保持安全设置不变。
package.json:
{
"scripts": {
"hmr": "nodemon index.js",
"nodemon": "npm run hmr",
"start": "node index.js"
},
"dependencies": {}
}
只需执行 npm run nodemon
,这将 运行 幕后的 hmr
行。
对于不知道如何使用 Windows PowerShell
解决此错误的用户
- 打开 PowerShell(运行 以管理员身份)
- 使用此命令检查当前执行策略
Get-ExecutionPolicy
# You should get 'Restricted'
- 运行这条命令使之成为'Unrestricted'
Set-ExecutionPolicy Unrestricted
- 再次检查运行执行此命令是否更改了执行策略
Get-ExecutionPolicy
# You should get 'Unrestricted'
- 现在尝试 运行 nodemon 在你的项目上
nodemon 'filename.js'
希望这会有所帮助
我有更好的解决办法,就是去nodemon.ps1
所在的文件夹(路径错误)删除nodemon.ps1
个文件。
现在去终端运行nodemon -v
,如果你得到一个版本那么问题就解决了。
第 1 步:转到此位置 --> 文件 C:\Users\Dell\AppData\Roaming\npm
第 2 步:删除 nodemon.ps1 文件和 运行 命令。
此命令正常工作。
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
在windows10.
管理和 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,因为 运行 脚本在此系统上被禁用。更多
信息,请参阅 about_Execution_Policies https://go.microsoft.com/fwlink/?LinkID=135170.
如果有人遇到这个问题...所以我的意见是进入文件并删除 nodemon.ps1 文件然后尝试使用 nodemon filename
我用下面的命令解决了我的问题。
=>运行 PowerShell 作为管理员
=>运行 遵循命令
get-ExecutionPolicy
=>如果受限; 运行下面的命令
set-ExecutionPolicy Unrestricted
=>并设置为全部
=>再次检查。命令
get-ExecutionPolicy
它会不受限制,问题就解决了
转到文件夹:- C:\Users\admin\AppData\Roaming\npm
删除nodemon或nodemon的powershell文件。ps1。
你会很高兴的。
您可以在不更改政策的情况下执行此操作。
C:\Users\HP MICROTECH\AppData\Roaming\npm\nodemon.ps1 (错误屏幕给出路径)
只需转到此路径并删除 nodemon。ps1
然后你的 nodemon 运行了。
运行 这些命令:
- set-ExecutionPolicy RemoteSigned -Scope CurrentUser
- 获取执行策略
- Get-ExecutionPolicy -list
转到 this link,然后按照步骤操作。
以管理员身份 运行 打开 Powershell,然后 运行 以下命令:
PS> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
PS> Get-ExecutionPolicy
RemoteSigned
PS> .\Start-ActivityTracker.ps1
.\Start-ActivityTracker.ps1 : File .\Start-ActivityTracker.ps1 cannot be loaded.
The file .\Start-ActivityTracker.ps1 is not digitally signed.
The script will not execute on the system.
For more information, see about_Execution_Policies at https://go.microsoft.com/fwlink/?LinkID=135170.
At line:1 char:1
+ .\Start-ActivityTracker.ps1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
PS> Unblock-File -Path [Your Path where the problem found]
PS> Get-ExecutionPolicy
RemoteSigned
消除此错误的最佳方法是
运行 在你的 windows power shell as admin
中执行以下命令
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
基本上它会要求您更改执行策略然后键入 Y。
**OR**
你可以做的是不改变你的执行政策
- 使用此命令安装 nodemon:
npm i nodemon -g
- 然后输入 nodemon -v
您将在第一行错误中看到一条路径转到该路径然后删除该路径
nodemon.ps1 扩展名为.ps1xml 的文件或文件名.
确保您正在全局安装 nodemon
更多详情 microsoft execution policies docs
在 运行 某些节点命令时遇到类似问题。
AppData\Roaming\npm\serverless.ps1 无法加载,因为 运行 脚本在此系统上被禁用。
PS C:\Users\adas67> Get-ExecutionPolicy
Restricted
PS C:\Users\adaaa> Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser Undefined
LocalMachine Undefined
这样解决了
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
终端错误:nodemon.ps1
无法加载,因为 运行 脚本在此系统上被禁用。更多
信息,请参阅 about_Execution_Policies
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7.2
我有解决问题的方法:
1. Open Windows PowerShell with Run as Administrator
2. Run this command: Set-ExecutionPolicy Unrestricted
这解决了问题,但这样系统会显示安全风险警告。
我的问题:有没有其他方法可以在没有安全风险的情况下解决这个问题?目标是使用 nodemon
.
我建议使用 RemoteSigned
而不是 Unrestricted
,并尽可能将政策限制为 CurrentUser
。
运行 Powershell 作为管理员,然后:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
RemoteSigned:“Windows 服务器计算机的默认执行策略。”
除此之外,我不会太担心它,因为它不是一种安全机制。请参阅 the docs:
中的这句话"The execution policy isn't a security system that restricts user actions. For example, users can easily bypass a policy by typing the script contents at the command line when they cannot run a script. Instead, the execution policy helps users to set basic rules and prevents them from violating them unintentionally."
允许远程签名脚本在本地计算机上 运行 没有任何安全风险。它基本上意味着您可以执行本地未签名的脚本,即您编写的脚本,而来自远程源(在本例中为 nodemon)的脚本必须由受信任的机构签名。
P.S:如果您使用的是 windows,您只需转到设置 >> 更新和安全 >> 开发人员 >> 选中 change execution policy to allow local powershell scripts to run without signing
[= 旁边的框11=]
这个命令可能有帮助
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
在使用 npm 时,我建议在 scripts
部分桥接 nodemon 命令,并保持安全设置不变。
package.json:
{
"scripts": {
"hmr": "nodemon index.js",
"nodemon": "npm run hmr",
"start": "node index.js"
},
"dependencies": {}
}
只需执行 npm run nodemon
,这将 运行 幕后的 hmr
行。
对于不知道如何使用 Windows PowerShell
解决此错误的用户- 打开 PowerShell(运行 以管理员身份)
- 使用此命令检查当前执行策略
Get-ExecutionPolicy
# You should get 'Restricted'
- 运行这条命令使之成为'Unrestricted'
Set-ExecutionPolicy Unrestricted
- 再次检查运行执行此命令是否更改了执行策略
Get-ExecutionPolicy
# You should get 'Unrestricted'
- 现在尝试 运行 nodemon 在你的项目上
nodemon 'filename.js'
希望这会有所帮助
我有更好的解决办法,就是去nodemon.ps1
所在的文件夹(路径错误)删除nodemon.ps1
个文件。
现在去终端运行nodemon -v
,如果你得到一个版本那么问题就解决了。
第 1 步:转到此位置 --> 文件 C:\Users\Dell\AppData\Roaming\npm
第 2 步:删除 nodemon.ps1 文件和 运行 命令。
此命令正常工作。
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
在windows10.
管理和 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,因为 运行 脚本在此系统上被禁用。更多
信息,请参阅 about_Execution_Policies https://go.microsoft.com/fwlink/?LinkID=135170.
如果有人遇到这个问题...所以我的意见是进入文件并删除 nodemon.ps1 文件然后尝试使用 nodemon filename
我用下面的命令解决了我的问题。
=>运行 PowerShell 作为管理员
=>运行 遵循命令
get-ExecutionPolicy
=>如果受限; 运行下面的命令
set-ExecutionPolicy Unrestricted
=>并设置为全部
=>再次检查。命令
get-ExecutionPolicy
它会不受限制,问题就解决了
转到文件夹:- C:\Users\admin\AppData\Roaming\npm
删除nodemon或nodemon的powershell文件。ps1。 你会很高兴的。
您可以在不更改政策的情况下执行此操作。 C:\Users\HP MICROTECH\AppData\Roaming\npm\nodemon.ps1 (错误屏幕给出路径)
只需转到此路径并删除 nodemon。ps1
然后你的 nodemon 运行了。
运行 这些命令:
- set-ExecutionPolicy RemoteSigned -Scope CurrentUser
- 获取执行策略
- Get-ExecutionPolicy -list
转到 this link,然后按照步骤操作。
以管理员身份 运行 打开 Powershell,然后 运行 以下命令:
PS> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
PS> Get-ExecutionPolicy
RemoteSigned
PS> .\Start-ActivityTracker.ps1
.\Start-ActivityTracker.ps1 : File .\Start-ActivityTracker.ps1 cannot be loaded.
The file .\Start-ActivityTracker.ps1 is not digitally signed.
The script will not execute on the system.
For more information, see about_Execution_Policies at https://go.microsoft.com/fwlink/?LinkID=135170.
At line:1 char:1
+ .\Start-ActivityTracker.ps1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
PS> Unblock-File -Path [Your Path where the problem found]
PS> Get-ExecutionPolicy
RemoteSigned
消除此错误的最佳方法是
运行 在你的 windows power shell as admin
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
基本上它会要求您更改执行策略然后键入 Y。
**OR**
你可以做的是不改变你的执行政策
- 使用此命令安装 nodemon: npm i nodemon -g
- 然后输入 nodemon -v 您将在第一行错误中看到一条路径转到该路径然后删除该路径 nodemon.ps1 扩展名为.ps1xml 的文件或文件名.
确保您正在全局安装 nodemon 更多详情 microsoft execution policies docs
在 运行 某些节点命令时遇到类似问题。 AppData\Roaming\npm\serverless.ps1 无法加载,因为 运行 脚本在此系统上被禁用。
PS C:\Users\adas67> Get-ExecutionPolicy
Restricted
PS C:\Users\adaaa> Get-ExecutionPolicy -List
Scope ExecutionPolicy
----- ---------------
MachinePolicy Undefined
UserPolicy Undefined
Process Undefined
CurrentUser Undefined
LocalMachine Undefined
这样解决了
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser