前にPSCoreUpdateというPowerShell Coreのアップデートを自動化するモジュールを作ったとお知らせしました。
このエントリ中で、
なお、このモジュールはあくまで更新のためのツールなので最初にPowerShell Core 6.0をインストールするのは手動で行う必要があります。
と記載し、この点に関しては今も変わってはいないのですが、初回インストールが手動なのはやっぱり面倒だったのでセットアップスクリプトを別に作ってみました。
初回インストールスクリプト
スクリプトはPSCoreUpdate内のこのページで公開しています。
PowerShell Coreのインストール手順はGitHubやDocsで公開されており、基本的はこの手順を各OS・ディストリビューション毎にまとめただけのスクリプトになります。
基本方針として、Windows PowerShellやBashのコンソールにコピペして実行すれば良しなに最新のPowerShell Coreをインストールしてくれるものにしています。
方式としてはChocolateyやRVMのインストール手順を参考にしています。*1
スクリプトの中身についてはGitHubで確認してください。
以下に現在のインストール手順を載せておきます。
Windows
前提条件として、Windows PowerShell 4.0以上がインストールされている必要があります。
(これはPowerShell Core 6.0をMSIからインストールするための前提条件です)
コマンドプロンプトから実行する場合
REM Command prompt powershell.exe -NoProfile -ExecutionPolicy Bypass -Command "[Net.ServicePointManager]::SecurityProtocol=[Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12;iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/stknohg/PSCoreUpdate/master/FirstTimeInstaller/Install-LatestPowerShell.ps1'))"
PowerShellコンソールから実行する場合
# Windows PowerShell Set-ExecutionPolicy Bypass -Scope Process -Force; [Net.ServicePointManager]::SecurityProtocol=[Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12; iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/stknohg/PSCoreUpdate/master/FirstTimeInstaller/Install-LatestPowerShell.ps1'))
macOS
macOS Sierra (10.12)以上が対象です。
# Bash \curl -s https://raw.githubusercontent.com/stknohg/PSCoreUpdate/master/FirstTimeInstaller/install_latestpowershell_mac.sh | bash -s
Ubuntu
Ubuntu 17.04、16.04、14.04で実行可能です。
# Bash \curl -s https://raw.githubusercontent.com/stknohg/PSCoreUpdate/master/FirstTimeInstaller/install_latestpowershell_ubuntu.sh | bash -s
RHEL、CentOS、Fedora
以下のディストリビューションで実行可能です。
- RHEL 7
- CentOS 7
- Fedora 26、25
# Bash \curl -s https://raw.githubusercontent.com/stknohg/PSCoreUpdate/master/FirstTimeInstaller/install_latestpowershell_rhel.sh | bash -s
Debian
Debian 9、8.7+で実行可能です。
# Bash \wget -q --no-check-certificate https://raw.githubusercontent.com/stknohg/PSCoreUpdate/master/FirstTimeInstaller/install_latestpowershell_debian.sh -O - | bash -s
[Experimental] openSUSE、SLES
以下のディストリビューションで実行可能です。
- openSUSE 42.1
- SLES 12
# Bash \curl -s https://raw.githubusercontent.com/stknohg/PSCoreUpdate/master/FirstTimeInstaller/install_latestpowershell_suse.sh | bash -s
こちらは現在の最新バージョン(6.1.0-preview.1)ではzypperの設定まではうまくいくものの、PowerShellのインストール時に依存関係のエラーが出てしまいインストールが必ず失敗します。
詳細はこのへんを見てください。
このスクリプトを実行した後に手動で
sudo zypper install powershell
を実行し、依存関係のエラーを無視してインストールを続行すればインストールすることができます。
この依存関係のエラーについてはそのうち新しいバージョンで解消されると思います。
*1:手順は参考にしてますが、個人的な信条としてChocolateyが嫌いなのでローカルマシンにChocolateyをインストールしたくないのです...