0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

WSLを使わない! Windows開発環境構築

Last updated at Posted at 2025-04-28

WSLないないのWindows開発環境構築

コメント

こちらの記事は、主に、CLI環境で開発していきたいという方にすごく向いているかと思う。

ターミナルのアップデート

まずは、今回の主役、ターミナルpwsh(powershell)をアップデート
https://github.com/PowerShell/PowerShell/releases/
Latestの安定版をインストール
ダウンロードするときに、arm64かx64か、どれをダウンロードすればいいかわからない場合は、アーキテクチャーを調べよう。

msinfo32

システムの種類がx64ベース PCであれば、
x64のmsiのインストーラーをダウンロード & 実行すればよい。

sudoの有効化

システム>開発者向けより、sudoの有効化
LinuxなどUNIX系では、sudoを用いるのが習慣だ。

パッケージマネジャーのインストール

以下、Ubuntuならapt, ArchLinuxなら、pacmanなど、パッケージマネジャーによって、ソフトのダウンロードを高速化するために必要だ。
私は、chocolateyを使う。
https://chocolatey.org/

以下のコマンドでインストールが可能だ。

Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

chocolateyによる各種ソフトインストール

以下、管理者モードで実行するように
ripgrepは、nvimのTelescopeプラグインの階層文字列検索を使用するときに必要になるので、合わせてダウンロードしておきたい。開発中のGit操作はすべてlazygitで行う。

sudo choco install ripgrep lazygit starship vim neovim git wget unzip nvm -y

各種ソフトの設定

neovimで、LSP機能を使いたい人は、私の場合だと、mason-lspconfigを使用していて、各言語のLSPサーバーをダウンロードしてくるのに、pythonやnpmを使用することが多い。
ゆえに、python, npmをWindowsにインストールしておこう。

pythonのダウンロード(任意)

以下より、最新のpythonを公式よりダウンロード >> EXE実行
https://www.python.org/downloads/

nvmによるnpm/nodeのインストール

nvm install 22.12.0
nvm use 22.12.0

starshipをターミナルに適用

以下、https://starship.rs/guide/ を要約したもの

  • pwshに適用する場合
vim $PROFILE
# 以下追加
Invoke-Expression (&starship init powershell)

# コマンド一行で行うには
Invoke-Expression (&starship init powershell --print-full-init | Out-String)
winget install clink
#%LocalAppData%\clink\starship.lua

load(io.popen('starship init cmd'):read("*a"))()
cd $env:LOCALAPPDATA
mkdir -p .config
cd .config
wget https://raw.githubusercontent.com/verazza/dotfiles/master/.config/starship.toml

vimの設定

  • _vimrcを配置
    私の場合、dotfilesにドットファイルをまとめているので、以下のコマンドで済む。
cd ~
wget https://raw.githubusercontent.com/verazza/dotfiles/master/.vimrc
move .vimrc _vimrc
mkdir -p ~/.wsl
cd ~/.wsl/
wget https://raw.githubusercontent.com/verazza/dotfiles/master/.wsl/.vimrc

win32yank

  • 以下、vimでコピー&ペーストを行うために
    win32yankはコマンドベースの、レジスタに文字列を登録することのできるWindowsで使えるものだ。UNIX系のXディスプレイだと、x-clipやWayLandディスプレイだと、wl-copyなどがある。
cd ~/git/dotfiles/.global/bin/ # 配置場所は任意
wget https://github.com/equalsraf/win32yank/releases/download/v0.1.1/win32yank-x64.zip
unzip .\win32yank-x64.zip
Remove-Item .\LICENSE, .\README.md, .\win32yank-x64.zip

別途、exeファイルの入ったフォルダをユーザー環境変数にセットしておこう。なお、今回は、WSLないないだが、WSLありきの環境で使う場合は、.exe実行ファイルの入ったフォルダをWSLのディストロ内で環境変数のパスに通す必要がある。

ターミナルフォントを設定

私は、NerdFontが良いと思う。
nvimのnvim-web-deviconsプラグインでも使える。
https://www.nerdfonts.com/

Agave.zipなどをダウンロード
エクスプローラーから展開して、フォント群(ttfなど)を選択、インストール
ターミナルプロファイルより適用

ターミナルキーマップを設定

以下をターミナルプロファイルに追加。
Next tab: C-Shift-[
Previous tab: C-Shift-]
Split pane: C-Shift-Enter

Neovimの設定

私の場合、Githubにその設定ファイルがあるので、それをインポートするだけで済む。
Neovimの設定ファイルは、C:\Users\<user>\AppData\Local\に配置しなければいけない。

# cmdなら
cd %LOCALAPPDATA%
# pwshなら
cd $env:LOCALAPPDATA

git clone https://github.com/verazza/nvim.git

Java/Scala環境構築

Java

choco install oracle17jdk

Scala

まずは、coursierが使えるように、以下の記事に沿って、コマンドラインでインストールしていく。
https://get-coursier.io/docs/cli-installation

# PowerShell
Invoke-WebRequest -Uri "https://github.com/coursier/launchers/raw/master/cs-x86_64-pc-win32.zip" -OutFile "cs-x86_64-pc-win32.zip"
Expand-Archive -Path "cs-x86_64-pc-win32.zip" -DestinationPath .
Rename-Item -Path "cs-x86_64-pc-win32.exe" -NewName "cs.exe"
Remove-Item -Path "cs-x86_64-pc-win32.zip"
.\cs setup

これで、coursierコマンドが使えると思いきや...
なぜか使えない。シェルを再起動しても使えなかった。
これの解決方法は、.batをユーザー環境変数に通せばいい。

以下、私でないなら読み飛ばして構わない。

シンボリックリンク作成

cd
mkdir -p git
  • cmd
mklink /D nvim %LOCALAPPDATA%/nvim
  • pwsh
New-Item -ItemType Junction -Path "nvim" -Target "$env:LOCALAPPDATA\nvim"
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?