本文へ移動
Webstudio YAS
  • About
  • Price
  • Work
  • Blog
  • Contact
  • About
  • Price
  • Work
  • Blog
  • Contact
  1. ホーム
  2. AWS
  3. chrome-aws-lambdaをNode.js16に対応させる

公開日: 2022.08.17

chrome-aws-lambdaをNode.js16に対応させる

chrome-aws-lambdaをNode.js16に対応させる

目次

  • はじめに
  • 原因
  • 対応
  • 修正箇所
  • まとめ

はじめに

AWSからNode.js 12のランタイムサポート終了予定のメールが届いた。

Node.js 12自体のサポート終了を受けてのことらしい。「Node.js 16 にアップグレードすることをお勧めします。」との事なので、ランタイムをNode.js 16にしたところ、Lambda実行時に以下のエラーが出た。

Error: Failed to launch the browser process!
/tmp/chromium: error while loading shared libraries: libnss3.so: cannot open shared object file: No such file or directory

原因

原因はレイヤーとして使っていた「chrome-aws-lambda」がNode.js16に対応していないためだった。

対応

「chrome-aws-lambda」のGithubを確認してみると、Node.js16対応バッチがプルリクされていたので、それを元に修正するとエラーは出なくなった。

chrome-aws-lambda – Add support for nodejs16.x #274
https://github.com/alixaxel/chrome-aws-lambda/pull/274

修正箇所

修正は、10行目と168行目の2箇所。どちらも以下のように「16」を追加する。

index.ts

- if (/^AWS_Lambda_nodejs(?:10|12|14)[.]x$/.test(process.env.AWS_EXECUTION_ENV) === true) {
+ if (/^AWS_Lambda_nodejs(?:10|12|14|16)[.]x$/.test(process.env.AWS_EXECUTION_ENV) === true) {

修正済みのリポジトリ

styfle/chrome-aws-lambda
https://github.com/styfle/chrome-aws-lambda/tree/patch-1

まとめ

今回は、Node.js16にアップグレードしましたが、「chrome-aws-lambda」は、Node.js14には対応しているらしいので、しばらくはランタイムをNode.js14にしておくのもいいかもしれませんね。

タグ

  • AWS
  • chrome-aws-lambda
  • Lambda
  • node.js

関連記事

2022.07.18

AWS EC2にLaravelをデプロイする手順(入門者向け)2022修正版

AWS EC2にLaravelをデプロイする手順(入門者向け)2022修正版

2023.12.23

AWS LambdaのNode.jsランタイムを16から18にしたらaws-sdkがインポートできなくなった

AWS LambdaのNode.jsランタイムを16から18にしたらaws-sdkがインポートできなくなった

2022.08.22

【AWS】EC2にswap領域を用意する(スワップ メモリ)

【AWS】EC2にswap領域を用意する(スワップ メモリ)
Webstudio YAS
  • About
  • Price
  • Work
  • Blog
  • Contact
YAS プロフィール画像

長野県長野市在住
WEBエンジニア YAS

LINKS

  • X
  • Instagram
  • GitHub
Design
  • スタンダード
  • 和モダン
  • エンジニア
  • 信州ナチュラル
プライバシーポリシー

@ Webstudio YAS