electron-node.js-ng:无法加载文件路径\ng.ps1,因为在此系统上禁用了运行脚本
我正在尝试在electron-node.js-ng:无法加载文件路径\ng.ps1,因为在此系统上禁用了运行脚本,node.js,angular,powershell,electron,npm-start,Node.js,Angular,Powershell,Electron,Npm Start,我正在尝试在visualstudio code中的windows10上编译项目,我的设置如下: 1) npmversion6.12 2) Node.jsversion12.13 3) Angular CLI:8.3.19 我遇到的问题是,当我尝试运行ng serve时,我收到以下输入:ng:文件C:\Users\name\AppData\Roaming\npm\ng.ps1无法加载,因为在此系统上禁用了运行脚本。后跟有关详细信息,请参阅https://go.microsoft.com/fwlin
visualstudio code
中的windows10
上编译项目,我的设置如下:
1) npm
version6.12
2) Node.js
version12.13
3) Angular CLI:8.3.19
我遇到的问题是,当我尝试运行ng serve
时,我收到以下输入:ng:文件C:\Users\name\AppData\Roaming\npm\ng.ps1无法加载,因为在此系统上禁用了运行脚本
。后跟有关详细信息,请参阅https://go.microsoft.com/fwlink/?LinkID=135170上的关于执行策略。
我到目前为止所做的尝试
1)我访问了建议的网站,发现Set ExecutionPolicy-ExecutionPolicy RemoteSigned
应该是我必须在shell中输入的命令。因此,我所做的是:
PS C:\Users\raggi\OneDrive\Desktop\pitalkdashboard>Set ExecutionPolicy-ExecutionPolicy RemoteSigned
但这导致了以下错误:
设置执行策略:拒绝访问注册表项HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell。要更改默认(本地计算机)作用域的执行策略,请使用“以管理员身份运行”选项启动Windows PowerShell。要更改当前用户的执行策略,请运行“Set ExecutionPolicy-Scope CurrentUser”。
这正是我所做的,因此:
PS C:\Users\raggi\OneDrive\Desktop\pitalkdashboard>Set ExecutionPolicy-Scope CurrentUser
下面是Shell提示,我只需插入RemoteSigned
:
cmdlet在命令管道位置1设置ExecutionPolicy
为以下参数提供值:
ExecutionPolicy:RemoteSigned
之后,我尝试ng serve
启动整个项目,但收到了不同的错误,我将其放在打印屏幕下方,因为它太长了:
我对这条路线没有任何想法了
2)根据建议和
我试图以管理员身份访问和运行,如下面的打印屏幕所示:
但是我在外壳上看到的唯一东西如下(但是外壳立即消失,我只有时间拍摄打印屏幕)
3)我深入研究了这个问题,发现了一些额外的见解,如和。然而,这篇文章唯一要指出的是,再次使用我在上面第1点尝试过的Set ExecutionPolicy-ExecutionPolicy RemoteSigned
4)经过更多的研究,我发现了一些有用的信息,但不幸的是,我没有使用任何有用的信息
代码
下面是我的包.json中的内容,如果有用的话:
{
"name": "pi-talk-dashboard",
"version": "0.0.0",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
},
"private": true,
"dependencies": {
"@agm/core": "^1.0.0-beta.5",
"@angular/animations": "^6.0.3",
"@angular/common": "^6.0.3",
"@angular/compiler": "^6.0.3",
"@angular/core": "^6.0.3",
"@angular/forms": "^6.0.3",
"@angular/http": "^6.0.3",
"@angular/platform-browser": "^6.0.3",
"@angular/platform-browser-dynamic": "^6.0.3",
"@angular/router": "^6.0.3",
"chart.js": "^2.7.3",
"core-js": "^2.5.4",
"electron": "^7.1.0",
"express": "^4.17.1",
"moment": "^2.22.2",
"ng2-charts": "^1.6.0",
"rxjs": "^6.0.0",
"zone.js": "^0.8.26"
},
"devDependencies": {
"@angular-devkit/build-angular": "^0.803.17",
"@angular/cli": "~6.0.8",
"@angular/compiler-cli": "^6.0.3",
"@angular/language-service": "^6.0.3",
"@types/jasmine": "~2.8.6",
"@types/jasminewd2": "~2.0.3",
"@types/node": "~8.9.4",
"codelyzer": "~4.2.1",
"jasmine-core": "~2.99.1",
"jasmine-spec-reporter": "~4.2.1",
"karma": "~1.7.1",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "~2.0.0",
"karma-jasmine": "~1.1.1",
"karma-jasmine-html-reporter": "^0.2.2",
"protractor": "^5.4.1",
"ts-node": "~5.0.1",
"tslint": "~5.9.1",
"typescript": "~2.7.2"
}
}
编辑
以管理员身份运行-ExecutionPolicy Unrestricted后,以下脚本在记事本中打开,但我不确定它的用法。我附上打印屏幕和打开文件的代码:
代码如下:
#!/usr/bin/env pwsh
$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
$exe=""
if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
# Fix case when both the Windows and Linux builds of Node
# are installed in the same directory
$exe=".exe"
}
$ret=0
if (Test-Path "$basedir/node$exe") {
& "$basedir/node$exe" "$basedir/node_modules/@angular/cli/bin/ng" $args
$ret=$LASTEXITCODE
} else {
& "node$exe" "$basedir/node_modules/@angular/cli/bin/ng" $args
$ret=$LASTEXITCODE
}
exit $ret
编辑2
在PowerShell上运行后-ExecutionPolicy Unrestricted
没有任何更改。但是出现了一个错误<代码>数据路径“.builders['app-shell']”应具有必需的属性“class”。
请参阅下面的打印屏幕
关于如何运行此项目以及如何解决此ng serve
问题,我已经没有什么想法了,任何其他方向的见解或指导都将有助于解决此问题。您必须将执行策略设置为不受限制的而不是远程签名的。根据:
远程签名。要求从Internet下载的所有脚本和配置文件都由受信任的发布者签名。这个
Windows server计算机的默认执行策略
由于99%的PowerShell脚本未签名,因此99%的时间您将无法在此策略下运行它们
以管理员身份打开PowerShell
运行:
- 发行
我也面临同样的问题,经过一些研究,我发现只需绕过限制,通过ng服务器启动你的应用程序
- 在终端中,您可以键入以下内容:
PS C:\Users\\\ClientApp>Set ExecutionPolicy-ExecutionPolicy Bypass-Scope CurrentUser
PS C:\Users\\\ClientApp>ng服务
- 重新运行你的应用程序:
我试图运行电子包装机时遇到了这个问题
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope CurrentUser
已修复此问题。按错误中所述打开文件,只需删除ng.ps1文件,即可正常工作
就我而言,它是nodemon.ps1。我删除了它并启动了服务器。以管理员身份打开Powershell并执行以下命令:
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
将bin文件夹路径添加到环境变量路径将起作用尝试使用“npx ng”而不是“ng”。如果我尝试使用任何“ng”命令,包括“ng new”,则会出现相同的权限错误。使用此npm软件包运行程序可为我解决此问题。设置环境变量路径,但不适用于我的案例。然后使用powershell(作为管理员模式)运行以下行
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
现在它正在工作。谢谢在项目文件夹中运行此命令
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
祝您好运在powershell中运行下面的命令
Set-ExecutionPolicy -ExecutionPolicy Unrestricted
如果一切正常,您将看到如下屏幕
你好,谢谢你阅读我的问题。如第2点所述,我无法使用admin
权限访问ng
脚本,因为shell立即消失。是否有其他方法可以直接在Visual Studio
embedded Shell上以管理员身份访问PowerShell(
Set-ExecutionPolicy -ExecutionPolicy Unrestricted