web-dev-qa-db-ja.com

モジュール「@ google-cloud / storage」が見つかりません

ブラウザでGCP Consoleを使用しています。私は次のように関数を作成しました:

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();
  }
}

文字通り、私が今やろうとしているのは、特定のHTTPSトリガーが通過した場合にバケット内のファイルを一覧表示することだけです。

私のpackage.jsonファイルは次のとおりです:

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

} 

「モジュール '@ google-cloud/storage'が見つかりません」というエラーが表示されます

これまでに見たほとんどのクエリはnpm installを使用して解決されましたが、index.jsファイルとpackage.jsonファイルがgcloudバケット内のZipファイルに格納されていることを考えると、その方法はわかりません。これを解決する方法についてのアドバイスは高く評価されます。

12
R.Dyer-Evans

コンソールを開き、dirをfunctionsプロジェクトに変更して、次のように入力します。

npm install --save @google-cloud/storage

それで全部です!

12
Serge