エラー: No default dev hub found (デフォルトの Dev Hub が見つかりません)
--set-default-dev-hub フラグを使用して正常に Dev Hub 組織を認証したとします。組織に関連付けられているユーザ名はデフォルトの Dev Hub ユーザ名です。次に、--target-dev-hub フラグを使用せずに正常にスクラッチ組織を作成しました。ところが、別のときに同じ CLI コマンドを使用してスクラッチ組織を作成しようとすると、次のエラーが表示されました:
1Error (1): No default dev hub found. Use -v or --target-dev-hub to specify an environment.何が起きたのでしょう?
回答: 認証コマンドを実行したディレクトリから移動していますが、元のディレクトリで、--set-default-dev-hub フラグを使用したことが原因です。
プロジェクトディレクトリのルートから認証コマンドを実行した場合は、target-dev-hub 設定変数がローカルに設定されます。その値は、同じプロジェクトディレクトリからコマンドを実行した場合のみ適用されます。別のディレクトリに変更して org create scratch を実行すると、デフォルト Dev Hub 組織のローカル設定は適用されなくなりエラーが表示されます。
この問題を解決するには、次のいずれかを実行します。
-
target-dev-hub をグローバルに設定して、どのディレクトリからも org create scratch を実行できるようにする。
1sf config set target-dev-hub=<devhubusername> --global -
Dev Hub 組織を認証したのと同じプロジェクトディレクトリから org create scratch を実行する。
-
org create scratch で --target-dev-hub フラグを使用すると、どのディレクトリからでも実行できます。
1sf target-dev-hub --definition-file <file> --target-dev-hub <devhubusername> --alias my-scratch-org -
設定値をグローバルまたはローカルのどちらに設定したかを確認するには、次のコマンドを実行し、[場所] 列を確認します。
1sf config list