モノレポに関する問題と解決策
このページでは、Vega Studioでモノレポを使用するときによくある問題と解決策について説明します。ここで特定の問題の解決策が見つからない場合は、開発者フォーラムに問題を投稿して追加のサポートを受けてください。
パッケージマネージャーがサポートされていない
原因: Vega StudioでnpmまたはYarn v2以外のパッケージマネージャーを使用すると、エラーが表示されるか、ビルドに失敗します。Vega Studioでは、npmとyarn v2 CLIのみがサポートされています。他のパッケージマネージャーはビルドシステムでは正しく動作しません。
解決策: サポートされているパッケージマネージャーを使用します。
- 標準的なパッケージ管理:npm
- 高度なワークスペース機能:Yarn v2以降
パッケージマネージャーが検出されない
原因: Vega Studioがモノレポ内のパッケージマネージャーを検出できず、デフォルトのnpmに設定されます。空のモノレポやクリーンなモノレポでは、検出が難しい場合があります。Vega Studioのデフォルトはnpmですが、お使いの設定には該当しない場合があります。
解決策: 次の手順で、Vega Studioがパッケージマネージャーを識別できるようにします。
- 依存関係を手動でインストールします(npmの場合は
npm install、Yarnの場合はyarn install)。 - モノレポのルートディレクトリに、適切なロックファイル(package-lock.jsonまたはyarn.lock)を配置します(空のファイルでも構いません)。
「ターボモジュールのtgzへの依存関係が見つからない、または形式が正しくない」というエラーでビルドに失敗する
原因: ビルドシステムが、package.json依存関係で参照されている.tgzファイルを見つけるまたは処理することができません。
解決策: tgzへのファイル参照を最新のパッケージバージョンに置き換えます。
// 次の行を
"@prefix/module-name": "file:...../prefix-module-name-0.0.1.tgz"
// 次のように置き換えます。
"@prefix/module-name": "*"
モノレポの設定中にnpmのインストールが失敗する
原因: npmがインストールされていないか、.npmrc設定が正しくないか、または親ディレクトリに競合するファイルがあります。
解決策:
-
npmがインストールされていることを確認します。npm -v -
.npmrcが存在し、正しいことを確認します。 -
親フォルダまたはホームフォルダで、競合するファイルやディレクトリを削除します。
- package.jsonファイル
- node_modulesディレクトリ
- npmアーティファクト
モノレポの設定中にYarnのインストールが失敗する
原因: Yarnのバージョンが正しくないか、Yarnがインストールされていないか、または競合する設定ファイルがあります。
解決策:
-
Yarn v2以降を使用していることを確認します。
yarn --version -
Yarn 1が存在する場合はアンインストールします。
-
corepack(nodeバージョン14以降)を使用してYarnをインストールします。
corepack enable -
package.jsonで、適切なパッケージマネージャーを指定します。
"packageManager": "yarn@x.y.z" -
Yarnを準備します。
corepack prepare yarn@x.y.z --activate - モノレポのルートに、空の
yarn.lockファイルを作成します。 - 親フォルダまたはホームフォルダで、競合するファイルやディレクトリを削除します。
- package.json、package-lock.json、yarn.lock
- node_modulesディレクトリ
- npmアーティファクト
Yarnの依存関係のインストール時にビルドが失敗します。
原因: Yarnリポジトリの構成が正しくないか、.yarnrc.ymlファイルに認証トークンがありません。
解決策:
-
Yarnリポジトリ(.yarnrc.ymlファイル)を正しく構成します。
手順については、Yarnワークスペースの構成を参照してください。
-
必要に応じて、以下の構成を
.yarnrc.ymlに追加します。npmRegistries: "https://k-artifactory-external.labcollab.net/artifactory/api/npm/kepler-npm-prod-local/": npmAuthToken: "<Keplerトークン>"
Metroパッケージャーの使用時に、パッケージングのステップでビルドが失敗します。
原因: パス構成が正しくないため、Metroパッケージャーがモノレポ構造の依存関係を解決できません。
解決策: metro.config.jsで依存関係を構成します。
const path = require('path');
const config = {
projectRoot: __dirname,
watchFolders: [
path.resolve(__dirname, '../../packages'),
path.resolve(__dirname, '../../node_modules')
],
resolver: {
disableHierarchicalLookup: true,
nodeModulesPaths: [
path.resolve(__dirname, 'node_modules'),
path.resolve(__dirname, '../../node_modules')
]
}
};
関連トピック
Last updated: 2025年9月30日

