Windowsでの開発環境構築チートシート(随時更新)
概要
新しくチームにジョインした際、自分が最初の Windows ユーザーだったということがよくある。その場合、READMEなどに記載された環境構築方法が Mac を前提にしており、Windows での方法を模索することになる。
その手間を省くために、Windows での環境構築について、よくある項目を記載していく。
Make インストール
WindowsにはMakeコマンドが標準搭載されていない。
以下のサイトからダウンロードし、Windowsの環境変数 Path
に C:\Program Files (x86)\GnuWin32\bin
のような項目を追加する。
pnpm インストール
Windowsにpnpmをインストールするには、npm か Corepack を使うのが推奨されている。
npm install -g @pnpm/exe@latest-10
exe
が含まれない方は、自分の環境だとうまく動かなかった。
Docker node_modules -> Windows node_modules シンボリックリンク問題
Dockerコンテナ内のnode_modulesがWindows端末のnode_modulesにシンボリックリンクを貼る問題に注意。
これが発生すると、Docker コンテナ内でのコマンド実行やアプリケーション起動に失敗する可能性がある。
詳細
Dockerコンテナの node_modules が、自分のWindows端末のnode_modulesへのシンボリックリンクになる問題に遭遇。lsコマンドとか差し込めば分かる。
DockerコンテナはLinux環境であり、Windows環境パッケージは機能しない。結果、コマンドなどが動かなくなる。Macでのパッケージは問題なく動くかもしれない?そのため、Macユーザーだけだと問題なかったのかも。
Dockerの設定を適切にやれば、この問題を解消できそう。しかし自分はDockerに詳しくないので、Dockerコンテナの起動時にローカルのnode_modulesを消しておく、という泥臭い対応を取った。
ちなみにこの問題はpnpmだけで発生するかもしれない。ChatGPTによると、pnpm/Windows/Dockerの組み合わせでよく起こる問題らしい。
ファイルやディレクトリ名に禁則文字を含む
ファイル名にコロンなど、Windows としての禁則文字が含まれていると git clone に失敗する。
gitconfig を変更することで、clone 自体は可能になる。
git config core.protectNTFS false
その後、禁則文字を含まないよう、ファイルやディレクトリのリネームを行う。もちろんチームとの相談の上で。
例: フレームワークの動的ルーティングとして routes/users/:id/index.ts
のようになっていたら、 routes/users/[id]/index.ts
のように変更する。
Discussion