Windowsを再インストールしたので開発環境を再度構築しました。その時のメモをまとめてみました。
誰かの参考になればと思います。
いろいろインストールした(使ってないのも含む)
インストールしたものをざっと列挙します。
- VSCode
- WSL2
- docker
- docker-compose
- asdf
- Node.js
- TypeScrpt
- Java
- Scala
- Gradle
- Erlang
- Elixir
- PostgreSQL
など
WSL2インストール
Windows の機能の有効化または無効化 で以下を有効する。
・Linux 用 Windows サブシステム
・仮想マシンプラットフォーム
・Windows ハイパーバイザー プラットフォーム
Microsoft Storeからそれぞれインストール。
Windows Subsystem for Linux
https://apps.microsoft.com/store/detail/windows-subsystem-for-linux/9P9TQF7MRM4R
WSL2で起動するUbuntu
https://apps.microsoft.com/store/detail/ubuntu/9PDXGNCFSCZV
起動後にユーザとパスワードを入力し完了
(メニューにLinux用Windowsサブシステムという項目が追加されているのでそこから起動可能)
Ubuntuを更新する。
sudo apt update && sudo apt upgrade
VSCodeをインストール。(今回はやってないけどMicrosoft Storeからインストールでも良いかも)
https://code.visualstudio.com/download
https://apps.microsoft.com/store/detail/visual-studio-code/XP9KHM4BK9FZ7Q
VSCodeの拡張機能をインストールして接続
Remote Development
https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack
WSLだけいれても接続はできる。
WSL
https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-wsl
汎用的なミドルウェアをインストールする。
sudo apt install build-essential zip pkg-config libssl-dev language-pack-ja manpages-ja manpages-ja-dev -y
sudo update-locale LANG=ja_JP.UTF-8
dockerインストール
sudo apt install apt-transport-https ca-certificates gnupg lsb-release -y
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io
Docker-compose,補完機能インストール
バージョンは以下で確認する。
https://github.com/docker/compose/releases
sudo curl -L "https://github.com/docker/compose/releases/download/v2.17.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
そのままだとrootにならないとコマンド実行できない。
$ docker container ls
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json": dial unix /var/run/docker.sock: connect: permission denied
# 現在ログインしているユーザーをdockerグループへ追加
sudo gpasswd -a $(whoami) docker
# docker.sock にグループでの書き込み権限を付与
sudo chgrp docker /var/run/docker.sock
# docker daemonを再起動
sudo service docker restart
VSCodeを開きなおす。
Git設定
git config --global user.name ユーザ名
git config --global user.email "メールアドレス"
--globalで設定した場合、全リポジトリで有効。情報は、「~/.gitconfig」に書き込まれる。
--localを指定した場合、特定のリポジトリで有効。「.git/config」に書き込まれる。
asdfのインストール
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.11.3
echo '. $HOME/.asdf/asdf.sh' >> ~/.bashrc
echo '. $HOME/.asdf/completions/asdf.bash' >> ~/.bashrc
source ~/.bashrc
Node.js,TypeScriptのインストール
Node.jsインストール
asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git
asdf list all nodejs
asdf install nodejs latest
asdf list nodejs
asdf list nodejs
19.8.1
asdf global nodejs latest
node -v
v19.8.1
バージョンのアンインストールは以下のコマンドで実行できる。
(アンインストールするとグローバルインストールしたライブラリも消えるので再インストールが必要。)
asdf uninstall nodejs 19.8.1
TypeScrptのインストール
npm install -g typescript
npm install -g ts-node
npm ls -g typescript
npm ls -g ts-node
npm install -g react-scripts
Java,Scalaをインストール
Java
https://docs.scala-lang.org/overviews/jdk-compatibility/overview.html
JDKとScalaの対応表を見てバージョンは決定する。
asdf plugin-add java https://github.com/halcyon/asdf-java
asdf list all java
asdf list all java | grep adoptopenjdk
asdf install java adoptopenjdk-17.0.6+10
asdf list java
asdf global java adoptopenjdk-17.0.6+10
java --version
javac --version
JAVA_HOMEを設定する。
echo '. ~/.asdf/plugins/java/set-java-home.bash' >> ~/.profile
source ~/.profile
Gradle
asdf plugin-add gradle https://github.com/rfrancis/asdf-gradle.git
asdf list all gradle
asdf install gradle 8.1
asdf local gradle 8.1
sbt
asdf plugin-add sbt
asdf list-all sbt
asdf install sbt 1.8.2
asdf global sbt 1.8.2
sbt --version
project/ target/ が勝手に作成されるので不要なら削除する。
rm -rf project target
scala
asdf plugin-add scala
asdf list-all scala
asdf install scala 2.13.10
asdf global scala 2.13.10
scala --version
PostgreSQLのインストール
直接Ubuntuにインストールしているけど、
Dockerをインストールしているのでコンテナで起動して使用するでもよかったかもしれない。
とりあえず、メモとして残す。
以降の手順(リポジトリを追加)でなくてもインストールは可能。ただし古いバージョンなる。
apt-keyは廃止になるらしい。
今(Ubuntu 22.04.2 LTS)はまだ使えるけど、今後は使えなくなる予定なのでwikiの方の手順でインストールする。
https://wiki.postgresql.org/wiki/Apt
apt-keyはなぜ廃止予定となったのか
https://gihyo.jp/admin/serial/01/ubuntu-recipe/0675
# Create the file repository configuration:
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
# 確認
$ ls /etc/apt/sources.list.d/pgdg.list
/etc/apt/sources.list.d/pgdg.list
$ head -n 10 /etc/apt/sources.list.d/pgdg.list
deb http://apt.postgresql.org/pub/repos/apt jammy-pgdg main
# Import the repository signing key:
curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/apt.postgresql.org.gpg >/dev/null
# 確認
$ ls /etc/apt/trusted.gpg.d/apt.postgresql.org.gpg
/etc/apt/trusted.gpg.d/apt.postgresql.org.gpg
# Update the package lists:
sudo apt-get update
# インストールされるバージョン確認
$ apt info postgresql
# Install the latest version of PostgreSQL.
# If you want a specific version, use 'postgresql-12' or similar instead of 'postgresql':
sudo apt-get install postgresql -y
# 確認
psql --version
apt list --installed | grep postgresql
sudo -u postgres -i
psql -U postgres
select version();
# postgresqlが起動しているか確認、停止している場合は起動。
service postgresql status
sudo service postgresql start
Erlang,Elixirのインストール
インストールするバージョンは以下を参考にする。
ライブラリをインストール
sudo apt update
sudo apt -y upgrade
sudo apt-get -y install \
automake \
autoconf \
m4 \
libncurses5-dev \
libwxgtk3.0-gtk3-dev \
libwxgtk-webview3.0-gtk3-dev \
libgl1-mesa-dev \
libglu1-mesa-dev \
libpng-dev \
libssh-dev \
unixodbc-dev \
xsltproc \
fop \
libxml2-utils \
libncurses-dev \
libreadline-dev \
zlib1g-dev \
inotify-tools
Erlangインストール
# オプションを設定。
export KERL_CONFIGURE_OPTIONS="--enable-jit --without-javac --without-odbc"
asdf plugin add erlang https://github.com/asdf-vm/asdf-erlang.git
asdf list all erlang
asdf install erlang 25.3.2
asdf global erlang 25.3.2
Elixirインストール
asdf plugin add elixir https://github.com/asdf-vm/asdf-elixir.git
asdf list all elixir
asdf install elixir 1.14.4
asdf global elixir 1.14.4
補完が重いので対策
/etc/wsl.conf を編集する。(無い場合は新規作成)
Windowsのパスを無効にしている。
[interop]
appendWindowsPath = false
必要なWindowsのコマンドは個別でパスの通っている場所にリンクを作成。
sudo ln -s '/mnt/c/Users/ka/AppData/Local/Programs/Microsoft VS Code/bin/code' /usr/local/bin/code
sudo ln -s /mnt/c/Windows/System32/cmd.exe /usr/local/bin/cmd.exe
sudo ln -s /mnt/c/Windows/explorer.exe /usr/local/bin/explorer.exe
VSCode拡張機能いろいろインストールした
※色々インストールしていて全て列挙出来てないかも
Extension Pack for Java(https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-java-pack
Gradle for Java(https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-gradle
Spring Boot Extension Pack(https://marketplace.visualstudio.com/items?itemName=vmware.vscode-boot-dev-pack
Scala (Metals)(https://marketplace.visualstudio.com/items?itemName=scalameta.metals
設定 - Metals - Java HomeにJAVA_HOMEを設定する。
Metalsのインストールが始まる。
ElixirLS: Elixir support and debugger (https://marketplace.visualstudio.com/items?itemName=JakeBecker.elixir-ls
Japanese Language Pack for Visual Studio Code(https://marketplace.visualstudio.com/items?itemName=MS-CEINTL.vscode-language-pack-ja
Git Graph (https://marketplace.visualstudio.com/items?itemName=mhutchie.git-graph
GitLens — Git supercharged(https://marketplace.visualstudio.com/items?itemName=eamodio.gitlens
indent-rainbow(https://marketplace.visualstudio.com/items?itemName=oderwat.indent-rainbow
Annotator(https://marketplace.visualstudio.com/items?itemName=ryu1kn.annotator
Rainbow CSV(https://marketplace.visualstudio.com/items?itemName=mechatroner.rainbow-csv
Path Autocomplete(https://marketplace.visualstudio.com/items?itemName=ionutvmi.path-autocomplete
Code Spell Checker(https://marketplace.visualstudio.com/items?itemName=streetsidesoftware.code-spell-checker
Live Preview(https://marketplace.visualstudio.com/items?itemName=ms-vscode.live-server
Thunder Client (https://marketplace.visualstudio.com/items?itemName=rangav.vscode-thunder-client
Tailwind CSS IntelliSense (https://marketplace.visualstudio.com/items?itemName=bradlc.vscode-tailwindcss
参考
おわり
とりあえずインストールした時のメモをまとめてみました。
多分大丈夫だとは思いますが、メモが間違えている可能性は捨てきれない・・。
(記事作成後、手順の再確認をしていない)
Scalaとかは当時勉強しようと思ってインストールしたけど、
結局やっていないのでアンインストールしてもいいかもしれない。
一先ず誰かの参考になればと思います。
今回は以上です。