よくある質問
Turborepoをグローバルにインストールする必要がありますか?
Turborepoを使用する場合、2つのオプションがあります。
- `npm install --global turbo` でグローバルにインストールします。
- プロジェクトにローカルバージョンをインストールします。
`turbo` CLIをグローバルにインストールすることをお勧めします。 これにより、タスクを実行するためのスムーズで人間工学に基づいたエクスペリエンスが得られます。 プロジェクトに `package.json` の依存関係として `turbo` も含まれている場合、グローバル `turbo` はローカルの `turbo` を呼び出して、プロジェクトで意図したバージョンが使用されるようにします。
グローバルインストールした`turbo`が期待通りに動作しないのはなぜですか?
異なるパッケージマネージャーを使用してインストールすると、マシン上に複数のバージョンのグローバル `turbo` が存在する可能性があります。誤って古いバージョンの `turbo` を実行すると、予期しない動作が発生する可能性があります。
以下のコマンドで、どのパッケージマネージャーのバージョンを使用しているかをすばやく確認できます。
- macOSとLinux: `which turbo`
- Windows: `where turbo`
安定性を確保する最も簡単な方法は、優先しないパッケージマネージャーのアンインストールコマンドを実行することです。
npm uninstall turbo --global
Turborepoを使用するためにリモートキャッシングを使用する必要がありますか?
いいえ。 リモートキャッシングはオプションです。 ただし、チームでの開発をスピードアップしたり、Docker内でのビルドをスピードアップしたり、自分のマシンのスペースを節約したりするのに非常に役立ちます。
Turborepo / リモートキャッシングはソースコードを保存しますか?
いいえ。Turborepoはソースコードを保存しません。 リモートキャッシングがない場合、コードがマシンから離れることはありません。アーティファクトはローカルディスクにのみキャッシュされます。
Turborepoのリモートキャッシングでは、キャッシュの動作を設定する責任があり、コンパイルされたアーティファクトのみをキャッシュするようにTurborepoを設定する必要があります。 Turborepoはすべてのログをアーティファクトとして扱うため、これらは他のキャッシュアーティファクトと一緒に保存されることに注意してください。
Turborepoを使用するためにVercelを使用する必要がありますか?
いいえ。Turborepoはオープンソースプロジェクトであり、特定のホスティングプロバイダーまたはリモートキャッシュプロバイダーに関連付けられていません。 デフォルトのリモートキャッシュプロバイダーはVercelです。ただし、同じAPIをサポートしている場合は、他のプロバイダーを使用できます。 いくつかのオープンソースコミュニティリモートキャッシュはTurborepoと互換性があります。
Vercel 以外のリモートキャッシュプロバイダーで Turborepo を使用できますか?
はい。選択したリモートキャッシュプロバイダーが同じ API をサポートしている限り、Turborepo で使用できます。
Turborepo は個人を特定できる情報を収集しますか?
Turborepo の機能の性質上、オープンソースのバイナリをローカルで実行しても個人情報は収集されません。すべてのキャッシュされたアーティファクトは、デフォルトでマシンに保存されます。さらに、turbo
CLI によってログイン情報や連絡先の詳細は収集されないため、Turborepo が個人を特定できる情報にアクセスすることはありません。したがって、データプライバシーに関するご質問やご懸念事項については、Turborepo のプライバシーポリシーをご覧ください。
Turborepo はリモートキャッシュを使用する際に個人を特定できる情報を収集しますか?
リモートキャッシュが有効になっている場合、デフォルトでは Turborepo は Vercel アカウントを使用してクラウドにアーティファクトをキャッシュします。したがって、データプライバシーに関するご質問やご懸念事項については、Turborepo のプライバシーポリシーとVercel のプライバシーポリシー(新しいタブで開きます)をご覧ください。 別のリモートキャッシュプロバイダーを使用する場合は、そのプロバイダーのプライバシーポリシーをご覧ください。
複数の Next.js アプリケーションを使用する場合、Turborepo で Fast Refresh をどのように維持できますか?
Fast Refresh(新しいタブで開きます) は、Next.js アプリケーションの React コンポーネントに加えられた編集に関する即時フィードバックを提供します。
Turborepo に複数の Next.js アプリケーションがある場合は、next.config.js
内で transpilePackages
を使用して、変更が行われたときにワークスペース間のインポートが Fast Refresh で機能するようにすることができます。 Turborepo は効果的に編集を監視し、保存時に再ビルドします。 Fast Refresh を処理するように設定されたこの例(新しいタブで開きます)から始めることができます。
next-transpile-modules
(新しいタブで開きます) を使用することをお勧めします。「experimental(実験的)」とはどういう意味ですか?
Turborepo では、一部の新機能が「experimental」とマークされています。これは、その機能がまだ本番環境での使用に準備されておらず、今後変更される可能性があることを意味します。これらの機能を試してフィードバックを提供することをお勧めしますが、今後変更される可能性があることに注意してください。
JS 以外のコードを含むモノレポで Turborepo を使用できますか?
モノレポには、あらゆる種類のコード(Django アプリ、Rust クレート、Ruby CLI など)を含むサブディレクトリを含めることができます。 Turborepo はこれらのディレクトリを largely 無視します。ただし、Turborepo にコードベースのこれらの部分で何かを*実行*させたい場合は、次の手順を実行する必要があります。
- これらのサブディレクトリをワークスペース宣言(例:
pnpm-workspace.yaml
またはpackage.json
のworkspaces
キー)に含めます。 - このディレクトリに
package.json
ファイルを追加し、name
とscripts
フィールドに入力します。
Turborepo は Node.js の規則を使用してワークスペースを見つけ、タスクを実行しますが、それらのタスクが何であるかは気にしません。