開発環境とlambda環境の違い
-
npm install
で処理するネイティブモジュールは環境に依存するため、lambdaについてはEC2上に同環境を作成して処理しないとうまく動かないことがある - 特にiconv!
# mac上だとうまくエンコードできるのに・・・(EC2上でネイティブモジュールを処理したものであればOK)
Error: Encoding not recognized: 'ISO-2022-JP' (searched as: 'iso2022jp')
最新のlambda環境をつくるためのAMI
余談
- nodemalilerでiso-2022-jpがうまく扱えない記事を読みiconvを入れたにも関わらず、うまく動かない一因がおそらくこれ
- 入れただけでうまく動かない場合はmimelibのデコードも合わせて利用しましょう