🦔
AWS SAMで、libicui18nのエラーが出てsam buildできない
AWSが出している、SAM(Serverless Application Model)というフレームワークがあります。
SAMとは、サーバーレス構成(API Gateway, Lambda, それに関わるIAMなど)をCloud Formation経由で一括でセットアップしてくれるツールで、とても便利なのですが、ビルドのコマンドであるsam build
コマンドがエラーになる現象に遭遇しました。
一応解決できたので、記事として残そうと思います。
ちなみに、ローカルマシンは、macOS Big Surで、nodeのバージョン管理にnodenvを使用しています。
エラー内容
sam build
のエラーメッセージは以下の通りです。
~/Projects/sam-app sam build
Building codeuri: /Users/yohei/Projects/sam-app/hello-world runtime: nodejs14.x metadata: {} architecture: x86_64 functions: ['HelloWorldFunction']
Running NodejsNpmBuilder:NpmPack
Build Failed
Error: NodejsNpmBuilder:NpmPack - NPM Failed: dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.68.dylib
Referenced from: /usr/local/bin/node
Reason: image not found
何やら、libicui18n
というライブラリが無いとのこと。
解決方法
結局、以下のコマンドにて解決できました。
$ brew reinstall icu4c
他の技術ブログ等では、
$ brew install node
で直った
という内容が多かったのですが、自分の環境ではnodenvを使っていたため、これだとまずそうと思い、色々調べることになりました。結局、よく分からずじまいでした😅
何はともあれ、無事にビルドできました。
参考
Discussion