問題
clsを保存しようとしたら下記のエラーが出てきてデプロイできない。
※いつもはVSCodeの設定から「Push-or-deploy-on-save」を「Enabled」にして、Ctrl + Sで変更内容の保存と同時にデプロイを行っていました。
ソースをデプロイまたは取得中にエラー: デプロイまたは取得しようとしたファイルかディレクトリが sfdx-project.json ファイルで指定されたパッケージディレクトリにありません。この場所を "packageDirectories" の値に追加するか、異なるファイルやディレクトリをデプロイまたは取得してください。sfdx-project.json についての詳細は https://developer.salesforce.com/docs/atlas.ja-jp.sfdx_dev.meta/sfdx_dev/sfdx_dev_ws_config.htm を参照してください。
デプロイまたは取得しようとしたファイルかディレクトリ
→XXXX_Test.cls
sfdx-project.json ファイルで指定されたパッケージディレクトリにありません。
→"path": "force-app"の中に「XXXX_Test.cls」がある。
・・・?
解決策
下記のコードをターミナルから実行するとデプロイができました。
// Apexの場合
sfdx force:source:deploy -m "ApexClass:MyApexClass"
// VFの場合
sfdx force:source:deploy -m "ApexPage:MyApexPage"
面倒なので元に戻せないか確認中・・・
解決策2 オススメ!!!
・VSCodeのターミナルで「sfdx update」を行う
・拡張機能から「Salesforce CLI Integration」が最新になっているか確認する
「sfdx update」だけだと、「Salesforce CLI Integration」はアップデートされないのが、注意点。
拡張機能を見ると「リフレッシュ」みたいになってるので、押下するとVSCodeが再起動されます。
私のバージョンは下記になりました。
・sfdxは「sfdx-cli/7.158.1 win32-x64 node-v16.15.1」です。
・Salesforce CLI Integrationは「v55.4.1」です。