web-dev-qa-db-fra.com

Impossible de trouver le module "@ google-cloud / stockage"

J'utilise la console GCP sur mon navigateur. J'ai créé une fonction comme suit:

function listFiles(bucketName) {
  // [START storage_list_files]
  // Imports the Google Cloud client library
  const Storage = require('@google-cloud/storage');

  // Creates a client
  const storage = new Storage();


  storage
.bucket(bucketName)
.getFiles()
.then(results => {
  const files = results[0];

  console.log('Files:');
  files.forEach(file => {
    console.log(file.name);
  });
})
.catch(err => {
  console.error('ERROR:', err);
    });
  // [END storage_list_files]
}

exports.helloWorld = function helloWorld (req, res) {
  if (req.body.message === undefined) {
    // This is an error case, as "message" is required
    res.status(400).send('No message defined!');
  } 
  else {
    // Everything is ok
    console.log(req.body.lat);
    console.log(req.body.lon);
    listFiles("drive-test-demo");
    res.status(200).end();
  }
}

Littéralement, tout ce que j'essaie de faire en ce moment est de répertorier les fichiers dans un compartiment, si un certain déclencheur HTTPS arrive.

mon fichier package.json est le suivant:

{
  "name": "sample-http",
  "version": "0.0.1",
  "dependencies": {
    "@google-cloud/storage": "1.5.1"
  }

} 

et j'obtiens l'erreur "Impossible de trouver le module '@ google-cloud/storage'"

La plupart des requêtes que j'ai vues jusqu'à présent ont été résolues en utilisant npm install, mais je ne sais pas comment faire cela étant donné que mes fichiers index.js et package.json sont stockés dans un fichier Zip à l'intérieur d'un compartiment gcloud. Tout conseil sur la façon de résoudre ce problème serait très apprécié.

12
R.Dyer-Evans

Ouvrez la console, changez dir pour votre projet de fonctions et tapez:

npm install --save @google-cloud/storage

C'est tout!

12
Serge