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?

More than 1 year has passed since last update.

Windowsを再インストールしたので開発環境を再構築した時の内容をざっくりメモ。

Last updated at Posted at 2023-07-15

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とかは当時勉強しようと思ってインストールしたけど、
結局やっていないのでアンインストールしてもいいかもしれない。

一先ず誰かの参考になればと思います。

今回は以上です。

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?