2021-12-20 nodenv / npm peerDependencies
nodenv 入れた
node バージョン管理していなかったけど必要に迫られたので nodenv 入れて古い node version を install するなどした
— toshimaru (@toshimaru_e) December 20, 2021
$ brew install nodenv
.zshrc
とか .bashrc
に下記を設定。
eval "$(nodenv init -)"
npm peerDependencies
node の peerDependencies について調べた。
ちゃんと使い分けてる? dependenciesいろいろ。 - Qiita
状況 | 親アプリケーション | プラグイン | |
---|---|---|---|
A | dependencies に"something-cool": "^1.0.0" |
1.0.0 |
1.2.0 |
B | peerDependencies に"something-cool": "^1.0.0" |
1.0.0 |
1.0.0 |
Aの状況で、プラグインに最新版の
something-cool@1.2.0
がインストールされることに注意してください。これは、npmが適合する最新版を使おうとするためです。親アプリケーションですでに1.0.0
が使われていても関係ありません。あくまでもモジュールごとに最適なバージョンが判断されるため、別のバージョンが入ってしまうことがありえるのです。
たしかにプラグインの依存性として peerDependencies が記述されていた。