blog.euxn.me

node_modules 以下のライブラリにPATH を通す

2017-05-04 Thu.

追記(2018/05/07)

現在では yarn も使えます。


追記(2017/08/04)

現在では npx を使う方が良いかと思います。


古いバージョンの cli を使っているプロジェクト等だと、グローバルインストールするのも管理が面倒、npm 経由でなくても実行したい、等の理由があり、 $(npm bin)node_modules/.bin 以下の実行可能ファイルを叩くことがあるかと思います。 そこに PATH を通して少し幸せになります。

方法 1. グローバルの $PATHnode_modules/.bin を追加する

.bashrc や.profile で export PATH=$PATH:node_modules/.bin を宣言します。 相対パスも使えますが、グローバルでどこでも相対の node_modules/.bin が PATH に入って気持ち悪い場合は方法 2 を使ってください。

方法 2. direnv を使い node_modules/.bin を追加する

direnv を使い、プロジェクトの .envrc ファイルに export PATH=$PATH:`pwd`/node_modules/.bin を宣言します。 この方法では node_modules 以下に PATH を通したいプロジェクトでだけ使用することができます。 (direnv はそのディレクトリに入った時に .envrc を読み込んで環境変数を設定してくれるものです。詳しくはこちら => direnv を使おう)

まとめ

  • 気にならなければ export PATH=$PATH:node_modules/.bin
  • 気になるなら direnv
Other Works
2024-12-01 Sun.
OpenAPI Spec を出力できる DSL、TypeSpec の実践例
- ドワンゴ教育サービス開発者ブログ

2024-11-16 Sat.
型付き API リクエストを実現するいくつかの手法とその選択
- TSKaigi Kansai 2024

2024-09-10 Tue.
corepack が標準同梱じゃなくなる未来、 mise でパッケージマネージャを管理する
- Zenn

2024-09-10 Tue.
言語環境の管理は *env や *vm を超えて、 mise へ
- Zenn

2024-06-28 Fri.
TypeSpec を使い倒してる
- Kyoto.js 22

2024-05-11 Sat.
Powerfully Typed TypeScript
- TSKaigi 2024

2024-05-10 Fri.
pnpm の node_modules を探検して理解しよう
- ドワンゴ教育サービス開発者ブログ

2024-03-17 Sun.
neverthrow で局所的に Result 型を使い、 try-catch より安全に記述する
- Zenn

2023-12-20 Wed.
レガシーブラウザ向けのビルドオプションを剪定する
- ドワンゴ教育サービス開発者ブログ

2023-05-26 Fri.
Next.js で dynamic import を使い Client だけで動かす Component を実現する
- Zenn

2023-05-02 Tue.
Node.js でファイル名から拡張子を取り除く/取り出すために path.parse を使う
- Zenn

2023-02-27 Mon.
WSL2 で外部からアクセス可能にするために bridge mode を有効にする
- Zenn

2023-01-26 Thu.
init.vim & dein から init.lua & lazy.nvim へ、シンプル設定で移行した
- Zenn

2023-01-13 Fri.
kindle の本をブクログ形式の csv でエクスポートする@2023初春
- Zenn

2023-01-10 Tue.
自宅サーバの移設に際して docker から nerdctl に移行した
- Zenn

2023-01-10 Tue.
自宅サーバを rootless に移行した際のトラブル対応
- Zenn

2021-11-11 Thu.
並列実行した Promise で throw されても全てハンドルしたいときの方法(allSettled, finally, etc...)
- Zenn