3
3

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.

Salesforce 開発者のための WSL2 環境構築

Last updated at Posted at 2020-12-27

:recycle: 最終更新日: 2023/02/06

こんにちは。この記事はSalesforce 開発者向けブログ投稿キャンペーンへのエントリー記事です。
テーマは [4] Salesforce 開発を効率化する便利なツールやサービス です。

:pencil: Salesforce 開発者向けブログ投稿キャンペーン 第4弾

はじめに

少し前からですが、Windows Insider Program に参加していなくても、WSL2 を使えるようになっています。個人的に Insider Program に参加して、Salesforce 用の環境構築案を 以前エントリしていた のですが、改めて 2020年12月時点での最新版を残したいと思います。

WSL2 に乗り換えを検討したい理由 ベスト 3

独断と偏見で決めました。

【1 位】開発環境構築が早い

  • 各種ツールのインストール・アンインストールがコマンドラインで済みます。
  • Windows のインストーラーの挙動から解放されます。
  • 「なんか動きがおかしくなったからイチからやり直したい」が楽になります。

【2 位】Linux コマンドが使える

  • Mac で使ってるコマンドが Windows でもそのまま使えます。
  • 「ツールがエラーで動かないのですが :cry: 」「あ、ここは rm じゃなくて Remove-Item に変えてみて :wink: 」などのあるあるから解放されます。

【3 位】sfdx autocomplete が使える

  • zsh にすることで sfdx コマンドのオートコンプリートが使えるようになります。
  • 地味に開発効率が上がります。
  • 以前のエントリ へのアンサーになります。

手順

WSL2 を使うための事前準備

公式のガイドにお任せします。

手動インストールの手順

  • 手順 1: Linux 用 Windows サブシステムを有効にする
  • 手順 2: WSL 2 に更新する
  • 手順 3: 仮想マシンの機能を有効にする
  • 手順 4: Linux カーネル更新プログラム パッケージをダウンロードする
  • 手順 5: WSL 2 を既定のバージョンとして設定する
  • 手順 6: 選択した Linux ディストリビューションをインストールする
  • Windows ターミナルをインストールする (省略可能)

ここまでが大変ですが、ここまで完了していればいざやり直ししたくなるたびに 簡単に初期状態に戻すことができます。

Windows 10のWSL環境を初期化してクリーンな状態に戻す

ユーザ名とパスワードを設定する

好きな文字列が使えます。こちらも公式のガイドにお任せ(手抜き)。

新しい Linux ディストリビューションのユーザー アカウントとパスワードを作成する

各種ツールのインストール

Windows ターミナルから wsl を起動します。

# wsl を起動
wsl

# 最新化
sudo apt update

(パスワードを求められたら、先ほど決めたパスワードを入力)

zsh

Mac 同様、zsh を使いましょう。

# インストール
echo Y | sudo apt install zsh

(パスワードを求められたら、先ほど決めたパスワードを入力)

# ログインシェルを zsh に変更
chsh -s $(which zsh)

(パスワードを求められたら、先ほど決めたパスワードを入力)

wsl を再起動し、表示が変わることを確認します

# 再起動
exit
wsl

# 表示された指示に従う > Quit and do nothing.
q

prezto

以前のエントリ のように、ターミナルをかっこよくします。

git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"

setopt EXTENDED_GLOB
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
  ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
done

定義ファイルで powerlevel10k を指定します。

# エディタを開く
vi ~/.zpreztorc

# INSERT モードに変更
i
.zpreztorc
(省略)
# zstyle ':prezto:module:prompt' theme 'sorin'
zstyle ':prezto:module:prompt' theme 'powerlevel10k'
(省略)
# INSERT モード終了
(Esc キー 押下)

# 保存して閉じる
:wq

wsl を再起動し、表示が変わることを確認します

# 再起動
exit
wsl

(表示された指示に従って、好みの見た目にする)

ターミナルの例
image.png

文字化けしている場合はフォントをインストールします。

/etc/resolv.conf

WSL側のネットワークを設定します。

# エディタを開く
sudo vi /etc/resolv.conf

(パスワードを求められたら、先ほど決めたパスワードを入力)

# INSERT モードに変更
i
/etc/resolv.conf
nameserver 8.8.8.8
# INSERT モード終了
(Esc キー 押下)

# 保存して閉じる
:wq

/etc/wsl.conf

resolv.conf を永続化します。

# エディタを開く
sudo vi /etc/wsl.conf

(パスワードを求められたら、先ほど決めたパスワードを入力)

# INSERT モードに変更
i
/etc/wsl.conf
[network]
generateResolvConf = false
# INSERT モード終了
(Esc キー 押下)

# 保存して閉じる
:wq

Node.js

nvm を使って Node.js 環境をセットアップします。

# nvm インストール
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash

# 環境変数を設定
echo '' >> ~/.zshrc
echo '# nvm' >> ~/.zshrc
echo 'export NVM_DIR="$HOME/.nvm"' >> ~/.zshrc
echo '[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm' >> ~/.zshrc
echo '[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion' >> ~/.zshrc

# 再起動
exit
wsl

# LTS のバージョンをインストール
nvm install --lts
nvm use --lts

# バージョンを確認
node -v  # v18.14.0
npm -v   # 9.3.1

Yarn

基本的に npm ではなく yarn を使います。

# インストール
npm install -g yarn

# 再起動
exit
wsl

# バージョンを確認
yarn -v  # 1.22.19

Java

Apex Language Server のために JDK 11 をインストールします。

# インストール
echo Y | sudo apt install default-jdk

(パスワードを求められたら、先ほど決めたパスワードを入力)

# バージョンを確認
java --version  # openjdk version "11.0.17" 2022-10-18

Salesforce CLI

npm 経由でインストールします。

stableバージョンを確認してインストールします。
Salesforce CLI Release Notes

# ここだけ yarn ではなく npm
npm install -g sfdx-cli@7.186.2

# plugins
echo y | sfdx plugins:install @salesforce/sfdx-scanner
echo y | sfdx plugins:install heat-sfdx-cli

# バージョン確認
sfdx plugins --core

VS Code

VS Code 拡張機能をインストールします。

settings.json は複数存在するので、上書きに注意してください。

code .

(Ctrl キー + ,)
settings.json
{
  (省略)
  "terminal.integrated.fontFamily": "MesloLGS NF",
  "terminal.integrated.fontSize": 14,
  "salesforcedx-vscode-apex.java.home": "/usr/lib/jvm/java-11-openjdk-amd64",
  (省略)
}

さいごに

Windows で開発しているかたのご参考になれば幸いです。がんばっていきましょう。

Acknowledgements

3
3
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
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?