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

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

ただいまの
回答率

89.64%

GAEのStandard EnvironmentでDatastoreが使用できない

受付中

回答 0

投稿

  • 評価
  • クリップ 0
  • VIEW 1,159

shichiria2

score 9

GAEのStandardでJSが使用できるようになったということだったので、
https://qiita.com/SatoTakumi/items/4f418dc5c700b9d66d7d
こちらを参考にNuxt.jsでGAEを試していたのですが、
起動までは問題なく出来たため、Datastoreを使用しようとしたところ、
エラーが出て解決できませんでした。

やったことは、
1, https://cloud.google.com/appengine/docs/flexible/nodejs/using-cloud-datastore
このページを見て、
package.jsonのdependenciesに"@google-cloud/datastore": "1.3.4"を追加、
その他上のページから差異のありそうな部分を追加。

{
  "name": "nuxt-gae",
  "version": "1.0.0",
  "description": "Nuxt.js project",
  "author": "taka <shichiria.island@gmail.com>",
  "private": true,
  "scripts": {
    "dev": "nuxt",
    "build": "nuxt build",
    "start": "HOST=0.0.0.0 PORT=8080 nuxt start",
    "generate": "nuxt generate",
    "lint": "eslint --ext .js,.vue --ignore-path .gitignore .",
    "precommit": "npm run lint"
  },
  "dependencies": {
    "@google-cloud/datastore": "1.3.4",
    "child_process": "^1.0.2",
    "express": "4.16.2",
    "fs": "0.0.1-security",
    "net": "^1.0.2",
    "nuxt": "^1.0.0",
    "tls": "0.0.1"
  },
  "devDependencies": {
    "babel-eslint": "^8.2.1",
    "eslint": "^4.15.0",
    "eslint-friendly-formatter": "^3.0.0",
    "eslint-loader": "^1.7.1",
    "eslint-plugin-vue": "^4.0.0",
    "@google-cloud/nodejs-repo-tools": "2.2.1"
  },
  "cloud-repo-tools": {
    "test": {
      "app": {
        "msg": "Last 10 visits:"
      }
    },
    "requiresKeyFile": true,
    "requiresProjectId": true
  }
}

2, デフォルトのindex.vueにinputを追加して、@changeでDatastoreを呼び出そうとしたことです。
(SSR自体初めてなので、サーバサイドのソースをここに書いていいかもわからないのですが)

<template>
  <section class="container">
    <div>
      <app-logo/>
      <h1 class="title">
        nuxt-gae
      </h1>
      <h2 class="subtitle">
        Nuxt.js project
      </h2>
      <div>
        <input v-model="text" @change="changeText()">
      </div>
      <div class="links">
        <a
          href="https://nuxtjs.org/"
          target="_blank"
          class="button--green">Documentation</a>
        <a
          href="https://github.com/nuxt/nuxt.js"
          target="_blank"
          class="button--grey">GitHub</a>
      </div>
    </div>
  </section>
</template>

<script>
import AppLogo from '~/components/AppLogo.vue'

export default {
  data() {
    return {
      text: ""
    }
  },
  components: {
    AppLogo
  },
  methods: {
    changeText() {
      const Datastore = require('@google-cloud/datastore');
    }
  }
}
</script>

エラー内容。npm install --save child_process fs もやってみましたが解決しませんでした。

These dependencies were not found:

* child_process in ./node_modules/google-auth-library/build/src/auth/googleauth.js, ./node_modules/grpc/node_modules/detect-libc/lib/detect-libc.js
* fs in ./node_modules/dir-glob/node_modules/path-type/index.js, ./node_modules/fs.realpath/old.js and 13 others

To install them, you can run: npm install --save child_process fs
  • 気になる質問をクリップする

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

まだ回答がついていません

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

  • ただいまの回答率 89.64%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる