[Sy] yarn global の動き(インストールされる場所など)
2018/02/28
最近 npm ではなく yarn を使うことが多いんですが、 yarn を使ってグローバルにインストールする方法と、その場合の動きについて確認してみました。
試しに npm を使ってグローバルにインストールしていた http-server
を一度アンインストールしてから、改めて yarn でグローバルにインストールしてみます。
(参考記事)
⇒ [Sy] npm でインストールできる簡易的な Webサーバ「http-server」が手軽で便利npm で http-server をインストール済みならアンインストールしておきます。
$ npm uninstall -g http-server
removed 23 packages in 0.264s
1. yarn global で http-server をインストールする
以下のコマンドでインストールします。
$ yarn global add http-server
yarn global v1.5.1
[1/4] 🔍 Resolving packages...
[2/4] 🚚 Fetching packages...
[3/4] 🔗 Linking dependencies...
[4/4] 📃 Building fresh packages...
success Installed "http-server@0.11.1" with binaries:
- http-server
- hs
✨ Done in 1.78s.
binaries
というところに、 http-server
と hs
という 2つが記載されています。
これは、 http-sever
と hs
の2通りで実行できるということになります。
2. 動作確認
では動かしてみます。
まずは http-server
を実行。
$ http-server
Starting up http-server, serving ./
Available on:
http://127.0.0.1:8080
http://192.168.1.2:8080
Hit CTRL-C to stop the server
起動しました。 Ctrl + C
で停止します。
次に hs
を実行。
$ hs
Starting up http-server, serving ./
Available on:
http://127.0.0.1:8080
http://192.168.1.2:8080
Hit CTRL-C to stop the server
両方とも同じですね。
3. インストールされた場所などを確認
いくつか確認してみます。
まずは、yarn でグローバルにインストールされているモジュールは、以下のコマンドで確認できます。
$ yarn global ls
yarn global v1.5.1
info "http-server@0.11.1" has binaries:
- http-server
- hs
✨ Done in 0.13s.
次に、http-server
と hs
の実体がどこにあるのかチェックします。
$ which http-server
/usr/local/bin/http-server
$ ls -l /usr/local/bin/http-server
lrwxr-xr-x 1 utano320 admin 84 2 28 17:30 /usr/local/bin/http-server -> ../../../Users/utano320/.config/yarn/global/node_modules/http-server/bin/http-server
$ which hs
/usr/local/bin/hs
$ ls -l /usr/local/bin/hs
lrwxr-xr-x 1 utano320 admin 84 2 28 17:30 /usr/local/bin/hs -> ../../../Users/utano320/.config/yarn/global/node_modules/http-server/bin/http-server
ホームディレクトリ配下に .config/yarn/global/node_modules/
というディレクトリが配置されていて、その中にモジュールがインストールされているのがわかります。