【问题标题】:Default Powershell Terminal is 7.2 but scripts run as Powershell 5.1默认 Powershell 终端是 7.2,但脚本作为 Powershell 5.1 运行
【发布时间】:2022-11-09 00:30:55
【问题描述】:

请注意,在我的新终端 VS Code 中,第一行表明它已正确默认为 Powershell 7.2.2 - 正如我认为应该的那样。

但是在同一个屏幕截图中,我运行的第一个脚本(它有一个打印出 powershell 版本的命令)它显示 PSVersion5.1.19041.1320

这是我来自settings.json 的所有特定于 Powershell 的 VSCode 条目

    "terminal.integrated.profiles.windows": {
        "MyPowerShell_7": {
          "path": "C:\\Program Files\\PowerShell\\7\\pwsh.exe",
          "args": ["-NoProfile"]
        }
    },
    "terminal.integrated.defaultProfile.windows": "MyPowerShell_7",
    "powershell.powerShellAdditionalExePaths": [
        {
            "exePath": "C:\\Program Files\\PowerShell\\7\\pwsh.exe",
            "versionName": "MyPowerShell_7"
        }
    ],
    "powershell.powerShellDefaultVersion": "MyPowerShell_7",

为什么运行Test-Json cmdlet 这么难?

【问题讨论】:

    标签: visual-studio-code powershell-7.0 powershell-7.2


    【解决方案1】:

    终于找到答案here on reddit

    我不知道 5.1 和 7 是并排的,并且有不同的方式来调用每个应用程序

    因此,如果我将命令从 powershell 更改为 pwsh 我会得到正确的结果

    【讨论】:

      【解决方案2】:

      实际上,当您打开 PowerShell 或 pwsh 终端(您在此处拥有)时,您应该直接调用您的脚本,它将在该主机中执行。

      所以而不是

      PS C:>pwsh -file './scripts/ps/experiment.ps1'` 
      

      你应该打电话

      PS C:>./scripts/ps/experiment.ps1
      

      您调用脚本的方式将启动一个新主机,运行脚本然后终止。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-06-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多