vagrant up時にエラーが出た時の対処法(Windows10)Failed to locate the powershell…
新しく購入したPC(Windows10)にVirtualBoxとVagrantで開発環境を構築しようとしたのですが、
その際に思わぬエラーが出てしまいドハマり。。
何時間も時間を潰してしまいましたが、
なんとか無事に構築を進めることができたのでその知識の共有をしたいと思います。
環境とVagrantのバージョン
今回、
OSはWindows10。
Vagrantのバージョンは2.0.0です。
エラー状況
VirtualBoxのインストール、Vagrantのインストールが完了し、
デスクトップ上のディレクトリに仮想環境を構築しようとしました。
コマンドプロンプトで
vagrant init
でvagrantfileを作成。
Boxの記述を加え、いざ
vagrant up
するとエラーで以下の文が。
Failed to locate the powershell executable on the available PATH. Please
ensure powershell is installed and available on the local PATH, then
run the command again.
どうやらpowershellへのパスが通っていないみたい。
前のPCではこんなことなかったし、
ググってもこのエラーは全然出てこない。
とにかくわからなかったので、
最終的に前のPCと今のPCを見比べながらひたすら探しました。
対処法
調べてみた結果、
やはりpowershellへの環境変数が通っていなかったようなので環境変数に以下のパスを加える。
(※\は¥です)
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\
手順は以下の通りです。
スタートボタン上で右クリックでメニューを表示しコントロールパネルを選択
スタートボタン上で右クリックし、メニューを表示させコントロールパネルを選択します。
(または左クリックでアプリ一覧のWindowsシステムツールからコントロールパネルを選択)
システムとセキュリティを選択
コントロールパネルの項目からシステムとセキュリティを選択します。
システムを選択
上から三番目、システムを選択します。
システムの詳細設定を開く
PCのスペック等が表示されますので、
左のリストにあるシステムの詳細設定を開きます。
環境変数(N)をクリック
システムのプロパティが開きますので、
その中のタブ詳細設定のタブを選択し、環境変数(N)をクリックします。
システム環境変数(S)からPATHの項目を
環境変数が開いたら、
下段のシステム環境変数(S)の中からPATHの項目を選択し、編集をクリック。
新規にpowershellのPATHを追加する
右上の新規(N)ボタンをクリックし、以下の文字列を入力します。
(※\は¥です)
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\
入力が完了したらOKを押して閉じます。
コマンドプロンプトを立ち上げて再度vagrant up
以上の作業でpowershellへのパスが通っているはずなので、
コマンドプロンプトを立ち上げてもう一度実行してみてください。
今回は問題なくvagrant upができるはずです。
以上、
Windows10でのvagrant環境構築時のエラー対処でした。
“vagrant up時にエラーが出た時の対処法(Windows10)Failed to locate the powershell…”への4件のフィードバック
お世話になります。おなじエラーがでて参考になります。system32のところは64ビットの場合system64と またpoweshellのバージョンが4.0
の場合はv4.0とするのでしょうか?
僕の環境は64ビットでpowershellのバージョンが5ですが、
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\
で問題ありませんでしたよ!
PATHの設定はシステムにプログラムのある場所までの道順を教えてあげるだけなので
既存のPATHを消さなければ間違えても消したりやり直しがききますので試してみてください!
ありがとうございます。おなじエラーメッセージが現れ、困りました。エラーメッセージで検索しましたら、すぐにたどり着くことができました。ひとりでは、あきらめざるを得ない状況でしたので大変助かりました。上記、馬場様のご質問への回答も参考になりました。いま>vagrant up を実行しています。時間がかかりますね。ご親切に感謝いたします。
古屋敷憲之さん、
コメントありがとうございます!
エンジニアやっていると知識の共有がとても大切ですのでお役に立てましてなによりです(*^^*)