はじめに
先日、M2 MacBook Airを買い、色々とセットアップしました。 Apple Sillicon搭載マシンがでたのが2020年11月で、1年半以上経っていることもあって多くのツールはApple Silliconに対応していましたが、Azure Functionsのローカル実行用として使われるAzure Functions Core ToolsがJavaではまだ未対応ということではまったので、ここでその内容を記します。
サンプル
Durable Functionsの動作検証のため、Quick Startにあるコードを実行しようとしました。すると、以下のエラーメッセージが出て起動できませんでした。
Azure Functions Core Tools Core Tools Version: 4.0.4736 Commit hash: N/A (64-bit) Function Runtime Version: 4.8.1.18957 [2022-08-21T05:41:47.806Z] A host error has occurred during startup operation 'e87c7af2-7243-4df8-b9cd-142cac9bc1fb'. [2022-08-21T05:41:47.806Z] Grpc.Core: Error loading native library. Not found in any of the possible locations: /Users/miyohide/.azure-functions-core-tools/Functions/ExtensionBundles/Microsoft.Azure.Functions.ExtensionBundle.Preview/4.2.1/bin/libgrpc_csharp_ext.arm64.dylib,/Users/miyohide/.azure-functions-core-tools/Functions/ExtensionBundles/Microsoft.Azure.Functions.ExtensionBundle.Preview/4.2.1/bin/runtimes/osx-arm64/native/libgrpc_csharp_ext.arm64.dylib,/Users/miyohide/.azure-functions-core-tools/Functions/ExtensionBundles/Microsoft.Azure.Functions.ExtensionBundle.Preview/4.2.1/bin/../../runtimes/osx-arm64/native/libgrpc_csharp_ext.arm64.dylib. Value cannot be null. (Parameter 'provider') > Task :azureFunctionsRun FAILED
Issue
色々と検索してみると、以下のIssueを見つけました。
このIssueに書かれているものによると、Javaに関しては以下の記述がありました。
Java: blocked because the Java worker only supports Java 8 & 11 and AFAIK Java itself doesn't support Apple Silicon until at least Java 17
JavaのApple Siliconサポートは少なくともJava 17以降ということなので、Java版の直近の対応はちょっと難しそうですね...