この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

Salesforce DX に関する制限事項

ここでは、Salesforce DX の使用中に発生する可能性がある既知の問題について説明します。

Salesforce CLI

Windows Defender で CLI のインストールが一時停止する
説明: Windows に Salesforce CLI をインストールしているときに、Windows Defender の警告が表示されます。インストーラのコードの署名証明書が更新されているので、このメッセージは予測どおりです。
このアプリケーションによって PC が危険にさらされる可能性があることを示す Windows Defender のポップアップ

回避策: [実行] をクリックして、このメッセージを無視します。

Salesforce CLI を使用してレコードタイプをインポートできない
説明: data:tree:import コマンドの実行時に RecordType はサポートされていません。

回避策: なし。

CLI を 5.7.6 から 6.0 にアップグレードするとスタック追跡が発生する場合がある
説明: sfdx update を実行して Salesforce CLI をバージョン 5.7.6 から 6.0 にアップグレードすると、次の正常な完了メッセージではなく、スタック追跡が表示される場合があります。

回避策: この不具合は一時的なものです。sfdx update を再実行してください。

Windows のシェル環境の制限付きサポート
説明: Salesforce CLI はコマンドプロンプト (cmd.exe) と Powershell でテストされています。cygwin および Min-GW 環境や、Windows Subsystem for Linux (WSL) では既知の問題があります。これらの環境は、今後のリリースでテストおよびサポートされる可能性があります。現時点では、代わりにサポートされているシェルを使用してください。

回避策: なし。

force:apex:test:run コマンドの実行が終了しない
説明: 特定の状況では、force:apex:test:run コマンドの実行が終了しません。この状況の例として、別のコンパイルの進行中にプリコンパイルをトリガする Apex テストまたは Apex テストで発生するコンパイルエラーがあります。

回避策: control-C を入力してコマンドの実行を停止します。コマンドが継続的インテグレーション (CI) ジョブの一部である場合、環境変数 SFDX_PRECOMPILE_DISABLE=true を設定してください。

Dev Hub およびスクラッチ組織

Salesforce CLI でコミュニティを含むスクラッチ組織が認識されないことがある
説明: Salesforce CLI が、コミュニティ機能を含むスクラッチ組織の作成を認識しないことがあります (毎回ではありません)。Dev Hub にそのスクラッチ組織がリストされていても、CLI を使用して開くことはできません。

回避策: 次の回避策を試すことができます。ただし、問題が修正されない場合もあります。Dev Hub でスクラッチ組織を削除してから、CLI を使用して新しいスクラッチ組織を作成します。スクラッチ組織の削除と再作成は、1 日あたりのスクラッチ組織の制限にカウントされます。

コミュニティを取り込んでリリースするとエラーが発生する
説明: このエラーは、スクラッチ組織には必要なゲストライセンスがないために発生します。

回避策: スクラッチ組織定義ファイルにコミュニティ機能を指定する場合、サイト機能も指定します。

ソース管理

「「Account.PersonAccount」という名前の「RecordType」タイプのエンティティが見つかりません」というエラーが発生する
説明: 機能をスクラッチ組織定義に追加してスクラッチ組織で個人取引先を有効にできますが、source:push または source:pull を実行するとエラーになります。

回避策: なし。

ルックアップ検索条件が設定されたカスタム参照項目の履歴管理が有効になっているとリリースに失敗する
説明: メタデータをリリースするときに、同じリリーストランザクションで、カスタムオブジェクトの履歴管理が有効になっている項目がルックアップ検索条件で参照されると、次のエラーメッセージが表示されます。
回避策: 次のいずれかの方法を実行します。
  • 両方のオブジェクトを別のトランザクションでリリースしてエラーを回避する。
  • カスタム項目の履歴管理を削除してからリリースする。リリースが完了したら、リリース後の手順の一部としてカスタム項目の履歴管理を有効にできます。
force:source:convert でインストール後スクリプトが package.xml に追加されない
説明: force:source:convert を実行しても、package.xml にインストール後スクリプトが追加されません。
回避策: 次のいずれかの方法を選択してこの問題を回避します。
  • force:source:convert で生成されるメタデータディレクトリの package.xml に手動で <postInstallClass> 要素を追加する。
  • リリース組織またはパッケージをリリースする組織のパッケージに手動で要素を追加する。
カスタムオブジェクトのメタデータファイルでフィード追跡を手動で有効にする必要がある
説明: カスタムオブジェクトに対するフィード追跡を有効にし、force:source:pull を実行すると、フィード追跡が有効になりません。

回避策: Salesforce DX プロジェクトで、カスタムオブジェクトのメタデータファイル (-meta.xml) に <enableFeeds>true</enableFeeds> を追加して、そのカスタムオブジェクトへのフィード追跡を手動で有効にします。

ルックアップ検索条件をスクラッチ組織に転送できない
説明: force:source:push コマンドを実行してルックアップ検索条件のあるリレーション項目のソースを転送すると、次のエラーが発生する場合があります。

duplicate value found: <unknown> duplicates value on record with id: <unknown> at line num, col num.

回避策: なし。

第一世代パッケージ

スクラッチ組織にパッケージをインストールするときに、テストが実行されない
説明: 継続的インテグレーションプロセスの一部としてテストを含めている場合、スクラッチ組織にパッケージをインストールするときにそれらのテストは実行されません。

回避策: パッケージがインストールされた後に手動でテストを実行できます。

CLI での管理パッケージパスワードに対する新しい用語
説明: CLI を使用してパッケージバージョンにインストールキーを追加するとき、またはキーで保護されたパッケージバージョンをインストールするときに、そのキーのパラメータ名は --installationkey です。Salesforce ユーザインターフェースで管理パッケージバージョンを表示する場合、この同じパッケージ属性の名前は「パスワード」です。API での対応する項目名「password」は変更されません。

回避策: なし。ユーザインターフェースのパスワード項目名は今後のリリースで変更されます。

第二世代パッケージ

第二世代パッケージはインストールキーを必要とするパッケージに連動できない
説明: 第二世代パッケージバージョンを作成する場合、インストールキーを必要とするパッケージ連動関係 (第一世代または第二世代) はサポートされません。

回避策: なし。この機能は、今後のリリースで近々サポートされる予定です。

API バージョン 41.0 以降が必要
説明: API バージョン 41.0 未満は、第二世代パッケージではサポートされていません。

回避策: 第二世代パッケージを作成する前に、sfdx-project.jsonsourceApiVersion を 41.0 以降に設定します。

パッチバージョンを指定できない
説明: 4 部構成のパッケージバージョン番号には、major.minor.patch.build として定義されたパッチセグメントが含まれます。ただし、第二世代パッケージのパッチは作成できません。パッケージ記述子でパッチ番号を設定すると、パッケージの作成に失敗します。今後のリリースのパッチバージョンをお待ちください。

回避策: バージョン番号のパッチセグメントを常に 0 に設定します。たとえば、1.2.0.1 は有効ですが、1.2.1.1 は無効です。

インストール済みパッケージが名前空間を共有している場合、保護されたカスタムメタデータとカスタム設定がスクラッチ組織の開発者に表示される
説明: 保護されたカスタムメタデータまたは保護されたカスタム設定を使用して第二世代パッケージに秘密を保存する場合は注意が必要です。同じ名前空間を使用して複数の第二世代パッケージを作成できます。ただし、これらのパッケージをスクラッチ組織にインストールする場合は、名前空間を共有しているスクラッチ組織で作業している開発者全員に秘密が表示されます。今後のリリースで、このような状況でパッケージの秘密にアクセスすることを防ぐ「パッケージ保護」キーワードの追加を検討中です。

回避策: なし。