npm
パッケージ管理ツールを見ると、その言語の「価値観」が見える Composer:共有サーバー文化から生まれた設計 プロジェクトを“閉じる”ことを最優先にしている autoloadという標準化装置 npm:アプリケーション開発を中心にした文化 開発フローの入口になるpac…
インストール方法の違いが思想の違い npm Composer 依存解決の考え方 なぜPHPはこの思想なのか lockファイルの意味の違い updateが危険に感じる理由 よくある誤解 実務での使い分けの感覚 注意点 まとめ Composerとnpmはどちらも「パッケージ管理ツール」で…
Node.js(npm)とJavaのパッケージ管理を一言で比べる Node.js(npm)のパッケージ管理思想 なぜnpmは「プロジェクトローカル」が基本なのか package.jsonが表す「契約」 lockファイルが生まれた理由 Javaのパッケージ管理思想 なぜJavaは安定性を最優先する…
Pythonとnpmの決定的な違いはどこにあるのか Pythonは「環境」を重視する文化だった pipは「最低限」を担う存在だった なぜ後からpipenvやpoetryが生まれたのか 実際の現場ではどうなりがちか Pythonがnpmのようにならなかったリスクと注意点 それでもPython…
Node.jsとPythonのパッケージ管理の前提の違い Node.jsは「このフォルダの中だけ見ればいい」 Pythonは「どのPythonに入れたか」を常に意識する 仮想環境が前提になるPythonのパッケージ管理 なぜPythonでは仮想環境が必要なのか 実際にやるとこうなる:venv…
パッケージ管理ツールの役割はどう変わってきたのか 「依存関係を入れる道具」から「開発体験の基盤」へ なぜ進化が求められているのか 今後進化しそうなポイント インストールと実行の高速化はさらに進む ランタイムやビルドツールとの統合 セキュリティと…
モノレポ時代のパッケージ管理は「速度と整合性」が最優先になる なぜモノレポになるとパッケージ管理が難しくなるのか リポジトリ規模が一気に大きくなる 依存関係の衝突が表面化しやすい チーム人数が増えるほど差が出る モノレポでよくある「パッケージ管…
なぜ今でも「突然詰む」人が出てくるのか 詰みやすい瞬間1:環境構築が再現できない 自分のPCでは動くのに、他人の環境では動かない 実際に起きがちな失敗 詰みやすい瞬間2:突然のアップデートで壊れる 何もしていないのに壊れた、という錯覚 バージョン範…
はじめに:npm一択の時代は終わったのか npmが長く「事実上の標準」だった理由 npmに対する不満が少しずつ溜まっていった インストールが遅いと感じる場面 node_modulesの肥大化 lockファイルの扱いに対する戸惑い Yarnやpnpmが支持を集めた理由 Yarnがもた…
冒頭で押さえておきたい話 なぜパッケージ管理ツールは増え続けるのか 依存関係の問題が想像以上に複雑だから 開発スピードの要求が年々上がっている 言語・エコシステムごとの事情が違う 新しいパッケージ管理ツールが解決しようとしている具体例 ロックフ…
はじめに:npm・yarn・pnpmは「何が違う」のか npmとは何者か npmの立ち位置 npmを実際に使うとこうなる yarnとは何者か yarnが生まれた背景 yarnを使うと感じやすい違い pnpmとは何者か pnpmの最大の特徴 pnpmを使うと驚きやすいポイント lockファイルの違…
はじめに:結局、パッケージ管理ツールはどう選べばいいのか パッケージ管理ツールとは何をしているのか そもそも「パッケージ」とは パッケージ管理ツールの基本的な役割 なぜパッケージ管理ツールは複数存在するのか 言語ごとに事情が違う 同じ言語でも複…
「npm install したら壊れた」と感じる正体 なぜ依存関係は簡単に壊れたように見えるのか セマンティックバージョニングの落とし穴 直接依存と間接依存の見えにくさ lockファイルがあるのに壊れる理由 実際によくある「壊れた」パターン フロントエンドビル…
なぜパッケージ管理ツールは「分かりにくい」と感じるのか パッケージ管理ツールの役割は意外と複雑 「ライブラリを入れるだけ」の裏側で起きていること 依存関係は「見えないグラフ構造」になっている 「暗黙の前提」が多すぎる問題 ローカル環境とCI環境で…
なぜ「コードを書く前」にパッケージ管理なのか パッケージ管理が解決している本当の問題 バージョンの固定と再現性 チーム開発での共通認識 実際にやるとどう変わるのか パッケージ管理が前提になると増える注意点 依存関係がブラックボックス化しやすい ツ…
パッケージ管理ツールを知らない開発は、なぜ苦しくなるのか パッケージ管理ツールとは何をしてくれるものか パッケージ管理を使わないと起きやすい具体的な問題 ライブラリのバージョンが揃わない 環境構築が属人化する 更新や削除が怖くなる 「小規模だか…
はじめに:パッケージ管理ツールは「避けて通れない存在」です パッケージ管理ツールとは何か 「パッケージ」とは何を指しているのか 管理ツールが必要になる理由 パッケージ管理ツールがやっていること 主な役割はこの3つ パッケージの取得 バージョン管理 …
package.jsonにenginesを追加してNode.jsのバージョンを指定する npmでNode.jsのバージョンを強制する方法 package.jsonにenginesを追加してNode.jsのバージョンを指定する package.jsonに engines フィールドを追加して、使用するNode.jsのバージョンを指定…
stylelintとは? stylelintの実行方法 1. Stylelintのインストール npmを使用する場合 yarnを使用する場合 2. Stylelint設定ファイルの作成 JSON形式の例 YAML形式の例 3. スタイルガイドのインストール 4. Stylelintの実行 コマンドラインから実行 スクリプ…