DotweaveDotweave
ドキュメントGitHub
DotweaveDotweave
    • はじめに
    • dotweave をインストールする
    • 最初の同期を設定する
    • 2 台目のデバイスを設定する
    • 同期のしくみ
    • ディレクトリとリポジトリの構造
    • 同期モード
    • プロファイル
    • プラットフォーム別パス
    • シークレットと暗号化
    • ファイルとディレクトリのトラッキング
    • 日々の push とコミットの流れ
    • 複数デバイスの同期を保つ
    • シェル補完を有効にする
    • エージェントスキルをインストールする
    • 設定とリポジトリ形式のアップグレード
    • 同期の問題を解決する
    • dotweave init
    • dotweave track
    • dotweave push
    • dotweave pull
    • dotweave status
    • dotweave untrack
    • dotweave cd
    • dotweave profile
    • dotweave doctor
    • dotweave autocomplete
    • dotweave skill
    • manifest.jsonc
    • settings.jsonc
    • 環境変数とパス
    • エラーメッセージ
ドキュメントGitHub
  1. Dotweave/
  2. エラーメッセージ

エラーメッセージ

dotweave が出力するすべてのエラーを領域ごとにまとめ、発生条件と対処をあわせて示します。

エラーの読み方

dotweave は失敗を最大 3 つの部分に分けて出力します。メッセージ、関係するファイルやパスを示す詳細行、そして → が先頭に付いたヒントです。

Sync target conflicts with an existing tracked entry.
Requested local path: /home/you/.config/nvim
Requested repo path: .config/nvim
Existing entry: /home/you/.vim -> .config/nvim
→ Change --repo or untrack the conflicting entry first.

すべてのコマンドは成功で 0、失敗で 1 を返します。dotweave doctor はチェックが失敗したときに 1 を返し、警告だけの場合は失敗として扱いません。

dotweave は内部エラーコードを出力しません。以下のコードは、このページを検索したり、Issue で引用したり、CLI ソースの発生箇所をたどるために併記しています。実際の照合はメッセージで行ってください。

初期化

メッセージコード対処
Sync directory is already initialized.INIT_ALREADY_INITIALIZED同期ディレクトリに manifest.jsonc がすでにあります。破棄する意図があるときだけ dotweave init --force を実行してください。
Sync directory already exists and is not empty.SYNC_DIR_NOT_EMPTYディレクトリはありますが git リポジトリではありません。空にする、削除する、または init にリポジトリソースを指定してください。
Existing repository setup requires an age private key.INIT_AGE_IDENTITY_REQUIREDclone したリポジトリには recipient がすでにあります。--key-file <path> を渡すか、対話型ターミナルで init を実行してプロンプトに鍵を貼り付けてください。
Failed to initialize the sync directory.SYNC_INIT_GIT_FAILEDgit init -b main が失敗しました。git が入っていて、ディレクトリに書き込めるか確認してください。
Failed to clone the sync directory.SYNC_CLONE_FAILEDgit clone が失敗しました。リポジトリソースに到達でき、権限があるか確認してください。
Git is not installed or not on PATH.GIT_EXECUTABLE_NOT_FOUNDgit をインストールし、git 実行ファイルを PATH から見つけられるようにしてください。
Sync repository is not initialized.SYNC_REPO_INVALID同期ディレクトリが git のワークツリーではありません。dotweave init を実行してください。

設定ファイル

メッセージコード対処
Sync configuration is invalid.CONFIG_VALIDATION_FAILEDmanifest.jsonc のフィールドが検証に失敗しました。詳細行が該当フィールドを示します。期待される形は manifest.jsonc を参照してください。
Sync configuration is not valid JSON.CONFIG_INVALID_JSONmanifest.jsonc の JSON 構文を直してください。// と /* */ のコメントは使えますが、末尾のカンマは使えません。
Failed to read sync configuration.CONFIG_READ_FAILEDmanifest.jsonc がない、または読めません。同期ディレクトリを用意していない場合は dotweave init を実行してください。
Global dotweave configuration is invalid.GLOBAL_CONFIG_VALIDATION_FAILEDsettings.jsonc の version が誤っているか、activeProfile が空です。settings.jsonc を確認してください。
Global dotweave configuration is not valid JSON.GLOBAL_CONFIG_INVALID_JSONsettings.jsonc の JSON 構文を直してください。
Failed to read global dotweave configuration.GLOBAL_CONFIG_READ_FAILEDsettings.jsonc はありますが読めません。ファイル権限を確認してください。ファイルがないことはエラーではありません。
Unsupported dotweave config file.CONFIG_JSON_UNSUPPORTED期待される .jsonc の隣に .json ファイルがあります。.json を削除するか名前を変更してください。
Config file version <n> is newer than this CLI supports (max: <m>).CONFIG_NEWER_VERSION別のマシンが新しい設定を書き込みました。このマシンの dotweave をアップグレードしてください。
No migration path found for config version <n> → <n+1>.CONFIG_MIGRATION_NOT_FOUNDこのマイグレーション手順を知っているリリースへ dotweave をアップグレードしてください。
Failed to migrate config from version <n> to <n+1>.CONFIG_MIGRATION_FAILEDマイグレーションが例外を投げました。成功するまで元のファイルはそのまま残ります。.v<n>.bak バックアップがあれば復元してください。
Age configuration is missing from manifest.jsonc.AGE_CONFIG_MISSINGmanifest に age.recipients がありません。dotweave init で暗号化を設定してください。

リポジトリ形式

メッセージコード対処
Repository format <n> is newer than this CLI supports (max: <m>).REPO_FORMAT_NEWER新しい dotweave がリポジトリをマイグレーションしました。このマシンをアップグレードしてください。
Repository format <n> is older than this CLI supports (min: <m>).REPO_FORMAT_TOO_OLD古い dotweave リリースでリポジトリを先に前進させてから、あらためてアップグレードしてください。
No repository format migration found for <n> → <n+1>.REPO_FORMAT_MIGRATION_NOT_FOUNDこのマイグレーション手順を知っているリリースへ dotweave をアップグレードしてください。
Failed to migrate repository format <n> → <n+1>.REPO_FORMAT_MIGRATION_FAILEDマイグレーションが途中で失敗しました。dotweave cd でリポジトリを確認し、git で既知の状態に戻してください。

各マイグレーションが何を書き直すかは設定とリポジトリ形式のアップグレードを参照してください。

トラッキング対象

メッセージコード対処
Target path is required.TARGET_REQUIREDパスを渡してください。例えば dotweave track ~/.gitconfig です。
Sync target kind is required.TARGET_KIND_REQUIREDパスがまだ存在しません。--kind file または --kind directory を渡してください。
Sync target kind does not match the path.TARGET_KIND_MISMATCH--kind が実際の種類と一致しません。詳細行に実際の種類が出ます。
Sync target type is not supported.TARGET_UNSUPPORTED_TYPEトラッキングできるのは通常ファイル、シンボリックリンク、ディレクトリだけです。
Sync target overlaps the dotweave sync directory.TARGET_OVERLAPS_SYNC_DIR同期ディレクトリの外のパスを選んでください。dotweave は自分のリポジトリをミラーできません。
Sync target contains the configured age identity file.TARGET_OVERLAPS_IDENTITYkeys.txt は絶対にトラッキングしないでください。秘密鍵はトラッキング対象の外に置いてください。
Sync target conflicts with an existing tracked entry.TARGET_CONFLICTローカルパスが別の kind ですでにトラッキングされているか、解決後の repoPath が衝突しています。--repo を変えるか、既存の項目を untrack してください。
Multiple tracked sync entries match: <target>TARGET_CONFLICT渡した短縮パスが曖昧です。完全なローカルパスを使ってください。
No tracked sync entry matches: <target>なしmanifest に一致する項目がありません。トラッキング中のパスは dotweave status で確認してください。
Local set target is not inside a tracked directory entry.TARGET_NOT_TRACKED先に上位ディレクトリをトラッキングし、それから入れ子のパスを調整してください。
Repository set target is not inside a tracked directory entry.TARGET_NOT_TRACKEDすでにトラッキング中のディレクトリの下にあるリポジトリパスを使ってください。
Sync set target does not exist.TARGET_NOT_FOUND指定したローカルパスがディスク上にありません。存在するパス、またはトラッキング中のディレクトリ内のリポジトリパスを使ってください。
Sync set target is not a valid local or repository path.INVALID_SET_TARGET絶対パス、カレントディレクトリ基準の相対パス、または .config/tool/file.json のようなリポジトリパスを使ってください。

パスと artifact

メッセージコード対処
Sync target must stay inside the configured home root.TARGET_OUTSIDE_ROOTトラッキング対象のパスは、すべてホームディレクトリの内側に解決される必要があります。
Sync target resolves to the root directory, which cannot be tracked directly.TARGET_ROOT_DISALLOWEDホームディレクトリ自体ではなく、その中のファイルかサブディレクトリをトラッキングしてください。
Sync entry local path must stay inside HOME.ENTRY_OUTSIDE_HOMEmanifest の項目がホームディレクトリの外に解決されます。Windows ではドライブレターが異なる場合にも起こります。
Sync entry local path cannot be the home directory itself.ENTRY_ROOT_DISALLOWED項目をファイルかサブディレクトリに変更してください。
Repository path must be a relative POSIX path inside the repository root.INVALID_REPO_PATH.config/tool/settings.json のように、.. セグメントと先頭の / を含まない相対パスを使ってください。
Repository path must not use the reserved suffixes .dotweave.secret or .dotweave.symlink.RESERVED_ARTIFACT_SUFFIXどのセグメントも予約サフィックスで終わらないよう、パス名を変更してください。
Multiple entries target the same repository path in manifest.jsonc.DUPLICATE_PATHS各項目に一意の repoPath を与えるか、一方を削除してください。
Duplicate local paths in manifest.jsonc.DUPLICATE_PATHS2 つの項目が同じローカルパスに解決されます。重複を削除してください。
Local paths must not overlap in manifest.jsonc.OVERLAPPING_PATHS2 つの項目が部分的に重なっています。トラッキング中のディレクトリとその子項目は問題ありませんが、部分的な重なりは許されません。
File sync entry resolves to a directory in the repository.FILE_ENTRY_RESOLVES_DIRECTORY保存された artifact が kind と異なります。dotweave push を実行するか、リポジトリを修正してください。
Directory sync entry resolves to a file in the repository.DIRECTORY_ENTRY_RESOLVES_FILE保存された artifact が kind と異なります。dotweave push を実行するか、リポジトリを修正してください。
Directory sync entry is not stored as a directory in the repository.DIRECTORY_ENTRY_NOT_DIRECTORY衝突している artifact をリポジトリから削除し、あらためて push してください。
Repository path is not managed by the current sync configuration.UNMANAGED_SYNC_PATHprofiles/ の下に管理外の artifact があります。上位パスをトラッキングするか、artifact を削除してください。
Repository artifact is stored under the wrong profile directory.REPO_PROFILE_MISMATCHartifact のプロファイルディレクトリが項目の profiles と異なります。artifact を移動または削除し、あらためて push してください。
Repository contains an unsupported plain artifact type.UNSUPPORTED_REPO_ENTRYprofiles/ の下にファイルでもシンボリックリンクでもないものがあります。削除してください。

プロファイル

メッセージコード対処
Unknown profile '<name>'.UNKNOWN_PROFILEdotweave profile add <name> で登録するか、既存の名前を使ってください。
Cannot add the implicit default profile.DEFAULT_PROFILE_IMPLICITdefault は常に存在します。登録しないでください。
Cannot remove the implicit default profile.DEFAULT_PROFILE_IMPLICITdefault は削除できません。
Profile '<name>' already exists.PROFILE_ALREADY_EXISTS別の名前を選んでください。
Cannot remove active profile '<name>'.PROFILE_ACTIVE先に dotweave profile use default で切り替えるか、dotweave profile use で選択を解除してください。
Cannot remove profile '<name>' because it is still referenced by <n> sync entries.PROFILE_IN_USE詳細行が参照している項目をすべて示します。それらの profiles を変更または空にしてください。
Profile 'default' is implicit and must not be listed in manifest profiles.INVALID_PROFILE_REGISTRYprofiles 配列から default を削除してください。
Duplicate profile '<name>' in manifest.DUPLICATE_PROFILEprofiles 配列から重複した名前を削除してください。
Profile name contains unsupported characters.INVALID_PROFILE_NAME英数字、ドット、アンダースコア、ハイフンだけを使い、英数字で始めてください。
Profile name conflicts with the reserved profile artifact directory.INVALID_PROFILE_NAMEprofiles は予約名です。別の名前を選んでください。
Profile name must not be empty.INVALID_PROFILE_NAMEwork のように名前を渡してください。

シークレットと age

メッセージコード対処
Age private key cannot be empty.AGE_IDENTITY_INVALID鍵ファイルまたはプロンプトの入力が空でした。AGE-SECRET-KEY- で始まる鍵を渡してください。
Invalid age private key.AGE_IDENTITY_INVALID鍵を解析できません。切り詰めや余分な空白がないか確認してください。
No age identities were found in the configured identity file.AGE_IDENTITY_EMPTYkeys.txt に空行と # コメントしかありません。鍵を追加するか、dotweave init で生成してください。
Failed to read age recipients from the configured identity file.AGE_RECIPIENT_READ_FAILEDkeys.txt のいずれかの行が有効な age 秘密鍵ではありません。
Failed to decrypt a secret artifact.AGE_DECRYPT_FAILED自分の identity がその artifact のどの recipient とも一致しないか、データが壊れています。
Failed to decrypt a secret repository artifact.SECRET_ARTIFACT_DECRYPT_FAILED原因は同じで、特定の artifact 1 件について報告されます。詳細行にリポジトリパスが出ます。
Secret sync path is stored as a plain artifact in the repository.SECRET_STORED_PLAIN項目は secret ですが、保存された artifact が暗号化されていません。dotweave push で暗号化し直してください。
Plain sync path is stored as a secret artifact in the repository.PLAIN_STORED_SECRET項目は secret ではないのに暗号化された artifact があります。モードを secret に戻すか、artifact を削除して push してください。
Secret repository artifacts must be regular files, not symlinks.SECRET_ARTIFACT_SYMLINKシンボリックリンクを実際の暗号化ファイルに置き換えてください。
Symlink repository artifacts must be regular metadata files.SYMLINK_ARTIFACT_NOT_FILE.dotweave.symlink artifact が通常ファイルではありません。削除してから push し直してください。
Secret sync paths must be regular files, not symlinks: <path>なしsecret モードのローカルパスがシンボリックリンクです。実ファイルをトラッキングするか、モードを変更してください。

フラグ

メッセージコード対処
Invalid --<flag> platform value.INVALID_PLATFORM_FLAG--<flag> value または --<flag> platform=value の形で書き、プラットフォームは default、win、mac、linux、wsl のいずれかにしてください。--local はプラットフォームの指定が必須です。
Duplicate --<flag> platform value.DUPLICATE_PLATFORM_FLAG1 つのフラグに同じプラットフォームキーを 2 回渡しました。
Invalid --<flag> mode '<value>'.INVALID_SYNC_MODEnormal、secret、ignore のいずれかを使ってください。
Invalid --<flag> permission '<value>'.INVALID_PERMISSION0600 や 0755 のような 4 桁の 8 進数文字列を使ってください。
The --repo flag can only be used with a single sync target.REPO_PATH_TARGET_COUNTリポジトリパスを上書きするときは、対象を 1 つずつトラッキングしてください。
Pull confirmation requires an interactive terminal.なしdotweave pull -y で実行し直すか、--dry-run でプレビューだけにしてください。

スキル

メッセージコード対処
Skills root must be a directory.SKILL_ROOT_NOT_DIRECTORY先にスキルディレクトリを作成し、そのパスを渡してください。
Dotweave skill already exists.SKILL_ALREADY_EXISTS--force を渡して <directory>/dotweave/SKILL.md を上書きしてください。

関連ページ

Duplicate repository artifact was generated.、Repository artifact path is invalid.、Duplicate sync path generated for <path> のように、内部の不変条件を知らせるだけで自分では直せないメッセージもあります。これらはバグを示します。実行したコマンドとあわせてイシュートラッカーへ報告してください。

診断の進め方は同期の問題を解決する、多くの問題をコマンド実行前に見つけるチェックは dotweave doctor を参照してください。

← 前へ設定リファレンス環境変数とパスDOTWEAVE_HOME、XDG_CONFIG_HOME、Windows の AppData フォールバックが dotweave のデータ保存先をどう決めるかを説明します。

このページの内容

  1. エラーの読み方
  2. 初期化
  3. 設定ファイル
  4. リポジトリ形式
  5. トラッキング対象
  6. パスと artifact
  7. プロファイル
  8. シークレットと age
  9. フラグ
  10. スキル
  11. 関連ページ