0
1

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 3 years have passed since last update.

fnm(Fast Node Manager)のインストールとGit Bash for Windows連携

Last updated at Posted at 2022-04-21

目的

  • Git for Windows 付属の Git Bash を開発環境でのデフォルトターミナルとして活用する。
  • 後々、Node.js のパッケージをグローバルにインストールした際、正しく動作する様、Windows 上で Git Bash を設定する。

手順

1. Git for Windows のインストール

Git for Windows を事前にインストールしておく。

2. Chocolatey のインストール

Windows 環境の場合、fnmのインストールには Chocolatey (公式ページ) が必要。

3. Chocolatey コマンドで fnm のインストール

Windows PowerShell で、以下コマンドの実行。

Windows PowerShell
choco install fnm

4. Git for Windows 付属の GitBash セットアップ

Windows PowerShell、コマンドプロンプトのセットアップは公式を参照。他の情報は多分ググれば出てきます。

4.1. .bashrc を編集する

ユーザーのホームディレクトリ(%HOMEPATH%)にある.bashrcに、テキストエディタ等で以下を追記する。(Windows環境の場合 PATH を Linux 形式にする必要あり1

.barshrcが無い場合、次のコマンドで、%HOMEPATH%にテキストファイルとして.barshrcとして作成。

gitbash
$ cd ~
$ touch .bashrc

.barshrcを次の様に変更する。

.bashrc
+ # fnm setup
+ # @see https://github.com/Schniz/fnm#shell-setup
+ eval "$(fnm env --use-on-cd)"
+ 
+ # 環境変数の設定 LINUX書式のPATHに変換
+ export PATH=`cygpath -u $PATH`

4.2. Git Bash を起動

.bashrcがあり.bash_profile2が無い場合、gitbashを起動した直後にWARNING:3が出力されますが正常です。

gitbash
WARNING: Found ~/.bashrc but no ~/.bash_profile, ~/.bash_login or ~/.profile.

This looks like an incorrect setup.
A ~/.bash_profile that loads ~/.bashrc will be created for you.

4.3. fnm にPATHが通っているか確認

fnm --versionコマンドを実行して、バージョンが表示されればOK。

gitbash
$ fnm --version
fnm 1.31.0

4.4 .bash_profileを編集する

winpty 経由で bash コマンドが実行される様に設定します。4

.bash_profile
# add winpty
# @see https://github.com/rprichard/winpty/
+ exec winpty bash

# generated by Git for Windows
test -f ~/.profile && . ~/.profile
test -f ~/.bashrc && . ~/.bashrc

参考

  1. fnm でNotes.jsのバージョンを切り替えた場合、グローバルパッケージが期待値通りに動作しなくなる為。(参考リンク

  2. .bashrcがあり.bash_profileが無い場合、.bash_profileは Git for Windows によって自動で生成されます。

  3. 2回め以降の起動では表示されなくなります。

  4. Linux 用にビルドされたモジュール等を Windows 環境で実行する際にwinpty ***.exeの様に実行するらしいのですが、都度 prefix の様に入力する必要があるので、gitbash 自体をwinpty経由で起動してしまえということらしい。ではなぜ Git for Windows がデフォルトで使っていないのかというと、多分、おそらく、微妙にセキュリティリスクがあるのだと思われます。

0
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?