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

Salesforce DX に関する考慮事項

次に、Salesforce DX の使用中に発生する可能性がある既知の問題を示します。

Salesforce DX CLI

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

回避策: なし。

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

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

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

Developer Edition スクラッチ組織で個人取引先が機能しない
説明: 個人取引先は、Enterprise Edition および Professional Edition スクラッチ組織でのみ機能します。

回避策: 個人取引先を操作する場合、DE スクラッチ組織は使用しないでください。

ソース管理

ワークフローの force:source:convert で誤った package.xml が生成される
説明: たとえば、Salesforce DX プロジェクトでワークフローを作成するとします。次に、force:source:convert を実行してソースをメタデータ API 形式に変換します。その後 force:mdapi:deploy でメタデータをリリースしようとすると、次のようなエラーが表示されます。
1Error target/workflows/Lead.workflow Lead.CRM_Lead_Update_Status Not in package.xml

このエラーは、force:source:convert で誤った package.xml ファイルが生成されるために発生します。

回避策: 必要なメタデータ API 形式に合わせて package.xml ファイルを手動で編集してから、再度リリースします。適切なメタデータ API 形式が不明な場合は、force:mdapi:retrieve を使用して組織からサンプルメタデータを取得します。次に、force:source:convert で生成された package.xml ファイルを編集するときに、この形式を参考にします。

変換が失敗した場合でも force:mdapi:convert が成功の終了コードを返す
説明: 何らかの理由で force:mdapi:convert が失敗し、エラーメッセージが出力された場合でも、コマンドは 0 (成功) の終了コードを返します。

回避策: なし。

カスタムオブジェクトに細かい変更を加えた後の状況メッセージが正しくない
説明: たとえば、スクラッチ組織でカスタムオブジェクトに細かい変更 (1 つの項目セットの変更など) を加えるとします。force:source:status または force:source:pull を実行すると、変更した項目に関する状況メッセージが正しくない場合があります。この例では、項目セットがすでにソースに含まれている場合でも、リモート追加としてマークされる可能性があります。

回避策: なし。

ローカルで権限セットを削除した後に転送すると、「Unknown」エラーが発生する
説明: ローカルプロジェクトから権限セットを削除してから force:source:push コマンドを実行すると、エラーメッセージ Unknown が表示されます。

回避策: なし。

ルックアップ検索条件をスクラッチ組織に転送できない
説明: 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 以降に設定します。

ロック解除済みパッケージとロック済みパッケージはスクラッチ組織または Sandbox 組織にしかインストールできない
説明: 3 種類の第二世代パッケージを作成できます。第二世代管理パッケージはいずれの組織にもインストールできます。ロック済みパッケージとロック解除済みパッケージは、Sandbox 組織またはスクラッチ組織にのみインストールできるパイロット機能です。

回避策: なし。

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

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

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

回避策: なし。