ブックマーク / zenn.dev/saggggo (1)

  • node_modulesの問題点とその歴史 npm, yarnとpnpm

    皆さんnpmパッケージのバージョンを上げるときにハマって依存地獄から抜けられなかったことはありませんか? 私はあります。 複雑怪奇な依存関係を調べてみようとnode_modulesを覗いてみて、そのカオスっぷりに臭いものに蓋をしたことはありませんか? 私はあります。 そこでnode_modules以下について調べてみたのですが、node_modulesにどんな問題点があって、npmやyarn, pnpmは何を目指していたのか時系列順に紐解いた方がわかりやすいことに気づきました。 ここでは初期のnpmが抱えていた問題から今に至るまでを順を追って説明します。 するとnode_modulesの仕組みの他に、各パッケージマネージャの方針の違いが見えてくるはずです。 初期の頃のnpm (~2015年以前) この頃はシンプルで、依存関係はそのままnode_modulesのディレクトリ構造に反映されてい

    node_modulesの問題点とその歴史 npm, yarnとpnpm
    strawberryhunter
    strawberryhunter 2023/06/24
    Node.jsに他の言語では一般的なライブラリ検索パスの概念を導入しておけばプロジェクトごとの node_modules は必要なかった。npmとNode.jsの開発主体は密接に関係しているのにである。こいつらは一体何と戦っているんだ。
  • 1