質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Cloud9

Cloud9は、クラウドからのプログラミングが可能になるWebサービス。IDEとしての機能が搭載されており、GitHubやHerokuなど他ツールとの連携も可能です。ブラウザ上で動くため、デバイスに関係なく開発環境を準備できます。

AWS Lambda

AWS Lambdaは、クラウド上でアプリを実行できるコンピューティングサービス。サーバーのプロビジョニングや管理を要せず複数のイベントに対してコードを実行します。カスタムロジック用いた他AWSサービスの拡張やAWSの規模やパフォーマンスを用いたバックエンドサービスを作成できます。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

Q&A

解決済

1回答

9129閲覧

【Nodejs】AWS Lambda環境でrequestモジュールが読み込めない

asakura

総合スコア29

Cloud9

Cloud9は、クラウドからのプログラミングが可能になるWebサービス。IDEとしての機能が搭載されており、GitHubやHerokuなど他ツールとの連携も可能です。ブラウザ上で動くため、デバイスに関係なく開発環境を準備できます。

AWS Lambda

AWS Lambdaは、クラウド上でアプリを実行できるコンピューティングサービス。サーバーのプロビジョニングや管理を要せず複数のイベントに対してコードを実行します。カスタムロジック用いた他AWSサービスの拡張やAWSの規模やパフォーマンスを用いたバックエンドサービスを作成できます。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

0グッド

0クリップ

投稿2020/09/20 14:23

AWS Cloud9からLamdbaをnodejsの開発しています。
AWS Cloud9コンソールから、requestモジュールをnpmでインストールし
実行したところ、以下のようなエラーとなり実行できませんでした。

エラーメッセージからrequestモジュールが正しく読み込みできていないような感じがしますが、
どのようにしたら正しく読み込み、実行できるのでしょうか。

よろしくお願いします。


Lamdba実行環境
node.js v10.22.0

nodejs

1exports.handler = function(event, context) { 2const request = require('request'); 3request('http://www.google.com', function (error, response, body) { 4 console.error('error:', error); 5 console.log('statusCode:', response && response.statusCode); 6 console.log('body:', body); 7}); 8};

エラー内容
Response
{
"errorType": "Error",
"errorMessage": "Cannot find module 'request'\nRequire stack:\n- /var/task/RestapiTest/index.js\n- /var/runtime/UserFunction.js\n- /var/runtime/index.js"
}

Function Logs
2020-09-20 14:10:03.651 {"errorType":"Error","errorMessage":"Cannot find module 'request'\nRequire stack:\n- /var/task/RestapiTest/index.js\n- /var/runtime/UserFunction.js\n- /var/runtime/index.js","code":"MODULE_NOT_FOUND","requireStack":["/var/task/RestapiTest/index.js","/var/runtime/UserFunction.js","/var/runtime/index.js"],"stack":["Error: Cannot find module 'request'","Require stack:","- /var/task/RestapiTest/index.js","- /var/runtime/UserFunction.js","- /var/runtime/index.js"," at Function.Module._resolveFilename (internal/modules/cjs/loader.js:966:15)"," at Function.Module._load (internal/modules/cjs/loader.js:842:27)"," at Module.require (internal/modules/cjs/loader.js:1026:19)"," at require (internal/modules/cjs/helpers.js:72:18)"," at Runtime.exports.handler (/var/task/RestapiTest/index.js:45:17)"," at Runtime.handleOnce (/var/runtime/Runtime.js:66:25)"]}

念のためpackage.jsonの内容も添付します。

json

1{ 2 "name": "environment", 3 "version": "1.0.0", 4 "description": "", 5 "main": "index.js", 6 "scripts": { 7 "test": "echo \"Error: no test specified\" && exit 1" 8 }, 9 "author": "", 10 "license": "ISC", 11 "dependencies": { 12 "request": "^2.88.2" 13 } 14} 15

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

package.jsonの配置ミスにより、モジュールが読み込めませんでした。

Cloud9の初期では、カレントパスが/home/ec2-user/environmentとなっているため、
node_modulesが配置されているパスへ移動する必要があります。
イメージ説明

投稿2020/09/21 12:44

asakura

総合スコア29

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問