admin管理员组文章数量:1395778
I am trying to use request
for my Cloud Function.
I have installed request
package via npm install request
. It sits in node_modules
like every other package:
However when I try to upload my Cloud Function, I get the following error message:
Function failed on loading user code. Error message: Code in file index.js can't be loaded.
Did you list all required modules in the package.json dependencies?
Detailed stack trace: Error: Cannot find module 'request'
at Function.Module._resolveFilename (module.js:548:15)
at Function.Module._load (module.js:475:25)
at Module.require (module.js:597:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/srv/index.js:3:17)
at Module._pile (module.js:653:30)
at Object.Module._extensions..js (module.js:664:10)
at Module.load (module.js:566:32)
at tryModuleLoad (module.js:506:12)
at Function.Module._load (module.js:498:3)
Here's my index.js
:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
const request = require('request');
admin.initializeApp();
const db = admin.firestore();
function getFoursquarePlace(midPoint){
let url = "?" +
"ll=" + midPoint.latitude + "," + midPoint.longitude + "&client_id=" +
client_id + "&client_secret=" + client_secret + "&v=" + version + "&radius=" + radius
+ "&limit=" + limit + "&categoryId=" + categorySet;
request(url, options, (error, res, body) => {
if (error) {
return console.log(error)
}
if (!error && res.statusCode === 200) {
// do something with JSON, using the 'body' variable
console.log("body: " + res.body);
}
});
Does anyone know what the problem may be? I've tried uninstalling and reinstalling request
but still getting the error.
Edit: I've checked package-lock.json
and the request
package is in there:
"request": {
"version": "2.88.0",
"resolved": ".88.0.tgz",
"integrity": "sha512-NAqB3rk3LgxdsfHnTBNwN0E+lHDAJzu7m0328eY08z2/A0hg==",
"requires": {
"aws-sign2": "~0.7.0",
"aws4": "^1.8.0",
"caseless": "~0.12.0",
"bined-stream": "~1.0.6",
"extend": "~3.0.2",
"forever-agent": "~0.6.1",
"form-data": "~2.3.2",
"har-validator": "~5.1.0",
"http-signature": "~1.2.0",
"is-typedarray": "~1.0.0",
"isstream": "~0.1.2",
"json-stringify-safe": "~5.0.1",
"mime-types": "~2.1.19",
"oauth-sign": "~0.9.0",
"performance-now": "^2.1.0",
"qs": "~6.5.2",
"safe-buffer": "^5.1.2",
"tough-cookie": "~2.4.3",
"tunnel-agent": "^0.6.0",
"uuid": "^3.3.2"
}
},
package.json
{
"name": "functions",
"description": "Cloud Functions for Firebase",
"scripts": {
"lint": "eslint .",
"serve": "firebase serve --only functions",
"shell": "firebase functions:shell",
"start": "npm run shell",
"deploy": "firebase deploy --only functions",
"logs": "firebase functions:log"
},
"engines": {
"node": "8"
},
"dependencies": {
"firebase-admin": "^8.0.0",
"firebase-functions": "^3.1.0",
"geofirestore": "3.3.1"
},
"devDependencies": {
"eslint": "^5.12.0",
"eslint-plugin-promise": "^4.0.1",
"firebase-functions-test": "^0.1.6"
},
"private": true
}
I am trying to use request
for my Cloud Function.
I have installed request
package via npm install request
. It sits in node_modules
like every other package:
However when I try to upload my Cloud Function, I get the following error message:
Function failed on loading user code. Error message: Code in file index.js can't be loaded.
Did you list all required modules in the package.json dependencies?
Detailed stack trace: Error: Cannot find module 'request'
at Function.Module._resolveFilename (module.js:548:15)
at Function.Module._load (module.js:475:25)
at Module.require (module.js:597:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/srv/index.js:3:17)
at Module._pile (module.js:653:30)
at Object.Module._extensions..js (module.js:664:10)
at Module.load (module.js:566:32)
at tryModuleLoad (module.js:506:12)
at Function.Module._load (module.js:498:3)
Here's my index.js
:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
const request = require('request');
admin.initializeApp();
const db = admin.firestore();
function getFoursquarePlace(midPoint){
let url = "https://api.foursquare./v2/venues/search?" +
"ll=" + midPoint.latitude + "," + midPoint.longitude + "&client_id=" +
client_id + "&client_secret=" + client_secret + "&v=" + version + "&radius=" + radius
+ "&limit=" + limit + "&categoryId=" + categorySet;
request(url, options, (error, res, body) => {
if (error) {
return console.log(error)
}
if (!error && res.statusCode === 200) {
// do something with JSON, using the 'body' variable
console.log("body: " + res.body);
}
});
Does anyone know what the problem may be? I've tried uninstalling and reinstalling request
but still getting the error.
Edit: I've checked package-lock.json
and the request
package is in there:
"request": {
"version": "2.88.0",
"resolved": "https://registry.npmjs/request/-/request-2.88.0.tgz",
"integrity": "sha512-NAqB3rk3LgxdsfHnTBNwN0E+lHDAJzu7m0328eY08z2/A0hg==",
"requires": {
"aws-sign2": "~0.7.0",
"aws4": "^1.8.0",
"caseless": "~0.12.0",
"bined-stream": "~1.0.6",
"extend": "~3.0.2",
"forever-agent": "~0.6.1",
"form-data": "~2.3.2",
"har-validator": "~5.1.0",
"http-signature": "~1.2.0",
"is-typedarray": "~1.0.0",
"isstream": "~0.1.2",
"json-stringify-safe": "~5.0.1",
"mime-types": "~2.1.19",
"oauth-sign": "~0.9.0",
"performance-now": "^2.1.0",
"qs": "~6.5.2",
"safe-buffer": "^5.1.2",
"tough-cookie": "~2.4.3",
"tunnel-agent": "^0.6.0",
"uuid": "^3.3.2"
}
},
package.json
{
"name": "functions",
"description": "Cloud Functions for Firebase",
"scripts": {
"lint": "eslint .",
"serve": "firebase serve --only functions",
"shell": "firebase functions:shell",
"start": "npm run shell",
"deploy": "firebase deploy --only functions",
"logs": "firebase functions:log"
},
"engines": {
"node": "8"
},
"dependencies": {
"firebase-admin": "^8.0.0",
"firebase-functions": "^3.1.0",
"geofirestore": "3.3.1"
},
"devDependencies": {
"eslint": "^5.12.0",
"eslint-plugin-promise": "^4.0.1",
"firebase-functions-test": "^0.1.6"
},
"private": true
}
Share
Improve this question
edited Jan 11, 2020 at 6:56
Zorgan
asked Jan 11, 2020 at 6:41
ZorganZorgan
9,21331 gold badges120 silver badges239 bronze badges
7
-
check your package.json file
request
module are available – prasanth Commented Jan 11, 2020 at 6:42 - It is there, I've added confirmation in my edit @prasanth – Zorgan Commented Jan 11, 2020 at 6:49
-
Check
package.json
instead ofpackage lock .json
. Did you list all required modules in the package.json dependencies? Did you see this error ? – prasanth Commented Jan 11, 2020 at 6:54 - Yes you're right, it's not there. Any reason why it wasn't added? Do I manually add it to the file? (i've added the file in my edit) – Zorgan Commented Jan 11, 2020 at 6:56
-
do again
npm install request
.check the package.json dependencies – prasanth Commented Jan 11, 2020 at 6:59
2 Answers
Reset to default 4This can happen when you "npm install" a dependency to the wrong folder, as I have just realised I did. I have a Vue project in the "src" subdirectory, and an index.js (Firebase cloud function) in the "functions" subdirectory.
Dependencies of the Vue project must be installed with "npm install" in the main directory. In contrast, dependencies of the Firebase cloud function must be installed with "npm install" being run in the "functions" subdirectory. I had accidentally installed the dependency in the main directory, and was breaking my head trying to understand why it was plaining that it couldn't find the dependency (googleapis) until I realised what I had done. The fix was of course to install it in the right place (so it showed up in the right package.json), and uninstall it from the wrong place for neatness.
npm uninstall request //removes the module from node_modules, but not package.json or npm uninstall --save request
npm cache clear --force
npm install --save --save-exact [email protected]
firebase deploy --only functions
I was facing the same issue , it turned I was missing to add [email protected] in dependency in package.json file though it was present in devDependencies
In case this doesn't resolve try running
npm audit fix --force
firebase deploy --only functions
本文标签:
版权声明:本文标题:javascript - Getting "Error: Cannot find module 'request'" even though I have added request mo 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1744710500a2621099.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论