PowerShell / PowerShell/PowerShellEditorServices
Add extra installation instructions about administrator privileges and PSCore6 modules
还没有人认领这个 Issue。
- 主要语言
- C#
- 星标
- 767
- 派生
- 266
- 平均合并
- 3 天 16 小时
- 30 天内合并 PR
- 1
描述
I was trying to build PowerShellEditorServices on my machine with the following $PSVersionTable:
Name Value
---- -----
PSVersion 6.0.1
PSEdition Core
GitCommitId v6.0.1-235-g3f7494e5435bd776ad04ef426c00874410924486
OS Microsoft Windows 10.0.16299
Platform Win32NT
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
WSManStackVersion 3.0
Install-Module not found
Due to self-hosting on PSCore6, there was no Install-Module cmdlet. It might be worth having a note somewhere (possibly here or in the PowerShell README?) to make sure people use Start-PSBuild -PSModuleRestore when building PSCore6 and get the PowerShellGet module.
Invoke-Build: IsBypassed not supported error
Then at the step where Invoke-Build is used, I got the following error:
PS> Invoke-Build Build
Build Build C:\Users\roholt\Documents\PowerShellEditorServices\PowerShellEditorServices.build.ps1
Task /Build/SetupDotNet
### Installing .NET CLI 2.0.0...
C:
dotnet-install: Downloading link: https://dotnetcli.azureedge.net/dotnet/Sdk/2.0.0/dotnet-sdk-2.0.0-win-x64.zip
dotnet-install: Cannot download: https://dotnetcli.azureedge.net/dotnet/Sdk/2.0.0/dotnet-sdk-2.0.0-win-x64.zip
dotnet-install: Downloading legacy link: https://dotnetcli.azureedge.net/dotnet/Sdk/2.0.0/dotnet-dev-win-x64.2.0.0.zip
ERROR: Exception calling "IsBypassed" with "1" argument(s): "Operation is not supported on this platform."
At C:\Users\roholt\AppData\Local\Temp\dotnet-install.ps1:175 char:20
+ ... if($DefaultProxy -and (-not $DefaultProxy.IsBypassed($Uri))) ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
At C:\Users\roholt\Documents\PowerShellEditorServices\PowerShellEditorServices.build.ps1:21 char:1
+ task SetupDotNet -Before Clean, Build, TestHost, TestServer, TestProt ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
At C:\Users\roholt\Documents\PowerShellEditorServices\PowerShellEditorServices.build.ps1:129 char:1
+ task Build {
+ ~~~~~~~~~~~~
Build FAILED. 2 tasks, 1 errors, 0 warnings 00:00:04.8974401
Exception calling "IsBypassed" with "1" argument(s): "Operation is not supported on this platform."
At C:\Users\roholt\AppData\Local\Temp\dotnet-install.ps1:175 char:20
+ ... if($DefaultProxy -and (-not $DefaultProxy.IsBypassed($Uri))) ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : PlatformNotSupportedException
I needed some trial and error to work out that I just needed to be running an administrator session. For the sake of completeness, there is a fixed dotnet-cli issue that looks like this, but we only need administrator privileges here.
PowerShell snippets in README
Also, the PowerShell snippets in the instructions are inconsistent about giving a prompt and we should make them agree. Not including a prompt makes copy-pasting easier, but including a prompt gives more information on where the user should be executing commands. The ideal is including the prompt and having it unselectable -- GitHub does this in their SSH key pages using ::before in CSS, but that can only be set once. It may not be possible in GitHub Markdown, but I've put an attempt below that doesn't work in preview, but may be a start.
PS C:\path\to\dir> Invoke-Command "do something"
Filing this as an issue chiefly to document it for anyone else who encounters problems but also for discussion.
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
从安装说明以及涵盖 Start-PSBuild、PowerShell 代码片段和 Invoke-Build 的 README 部分开始。记录需要管理员会话以及 PSCore6 模块还原步骤,然后统一命令示例;当已涵盖报告的设置问题和对提示符格式的困惑时,即视为完成。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- powershell
- 领域
- documentation
- Issue 类型
- 文档
- 难度
- 2/5
- 预计耗时
- 1-3 小时
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 42/100