Open Neko7sora opened 1 year ago
Turborepoのいいところをもうちょっと言っていこうぜ大会をしないとしゅいろが納得しないと思われる
タスクパイプラインにより、monorepo でどのタスクが相互に依存しているかを定義できる
これをうまくやってあげると、lint→build→testの工程について、並列にできるところをとことん並列にすることができて高速化できる(参照 https://turbo.build/repo/docs/core-concepts/monorepos/running-tasks)
現状、CIが結構遅いから、これをやり遂げるとCIが高速化しそう もちろんローカルや実運用環境にも恩恵があって美味しい
問題はこれをできるほどturborepoに強い人が今のところいない
turborepo, Node.js を nvm みたいな複数バージョンで管理している環境でたまに PATH を解決できなくなり何もできない(弊環境など)みたいなことが起こり険しい
(これ)
(これ)
Node.jsに標準バンドルされているCorepackを使用すると画像のように複数バージョンで管理している環境で起こることがあります。 ワークアラウンドとして、「Corepackのpnpm」ではなく、「npmを使用してインストールしたpnpm」を使用してみてください。 https://pnpm.io/ja/installation#npm-を使用
私の環境は、Voltaで管理して「npmを使用してインストールしたpnpm」を使用しています。
なるほど、ありがとうございます。これは Corepack 環境で必ず起きるものですか?または他の条件付きで起こるものですか?
なるほど、ありがとうございます。これは Corepack 環境で必ず起きるものですか?または他の条件付きで起こるものですか?
他の条件付きで起こるものであり、
ファイル/フォルダのパスの長さの上限が超えて読み込めなくなっている可能性
npm i
でpnpmをインストール→ pnpm i
でnpmをインストール→npm i
でpnpmをインストール→ pnpm i
でnpmをインストール→....をやっているとフォルダ構造が複雑になりバグが発生する可能性
corepack enable
してグローバルのバイナリを置き換えられるpnpm
などを実行すると、バージョンAのグローバルのバイナリを置き換えられられたことが原因でエラーが発生する可能性Corepack 環境で必ず起きるものとはいえない。(Geek Uninstallerなど使って関連ファイルごとアンインストールして、再インストールしたら直ると思われる....)
Summary
gulp関連は、メンテナンス面や脆弱性対応の面で難がある状態になっている
Turborepoは、インクリメンタルビルドが使えて速い
ビルドの並列実行
タスクパイプラインにより、monorepo でどのタスクが相互に依存しているかを定義できる