1

Im following this article:

https://medium.com/google-cloud/how-to-create-a-custom-private-google-home-action-260e2c512fc

and I get this when I run npm start in my folder on my mac for testing I get this:

Marcios-MacBook-Pro:webhook mars$ npm start

> your-action-app@0.0.1 start /Users/mars/Downloads/webhook
> functions deploy yourAction --trigger-http

sh: functions: command not found

npm ERR! Darwin 16.4.0
npm ERR! argv "/usr/local/Cellar/node/7.8.0/bin/node" "/usr/local/bin/npm" "start"
npm ERR! node v7.8.0
npm ERR! npm  v4.2.0
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR! your-action-app@0.0.1 start: `functions deploy yourAction --trigger-http`
npm ERR! spawn ENOENT
npm ERR! 
npm ERR! Failed at the your-action-app@0.0.1 start script 'functions deploy yourAction --trigger-http'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the your-action-app package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     functions deploy yourAction --trigger-http
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs your-action-app
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls your-action-app
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/mars/.npm/_logs/2017-04-12T14_32_03_870Z-debug.log

I created the action in Api.ai and I modified the package.json to:

{
  "name": "execute-home-command",
  "description": "This is your Action's webhook",
  "version": "0.0.1",
  "private": true,
  "license": "Apache Version 2.0",
  "author": "Google Inc.",
  "engines": {
    "node": "~6.0"
  },
  "scripts": {
    "lint": "semistandard --fix \"**/*.js\"",
    "start": "functions deploy execute-home-command --trigger-http",
    "deploy": "gcloud beta functions deploy execute-home-command --trigger-http --stage-bucket <storage_bucket_name>"
  },
  "dependencies": {
    "actions-on-google": "^1.0.0"
  },
  "devDependencies": {
    "semistandard": "^9.1.0"
  }
}

Here is the action:

api.ai

marciokoko
  • 4,988
  • 8
  • 51
  • 91
  • It looks like `scripts.start` entry in the `package.json` file is missing `gcloud beta` in front of `functions` (much like the `scripts.deploy` entry). Try adding that. – robertklep Apr 12 '17 at 19:22
  • do you have https://www.npmjs.com/package/@google-cloud/functions-emulator installed ? if not try npm install -g @google-cloud/functions-emulator – sandyJoshi Jun 08 '17 at 05:10

1 Answers1

1

I guess you don't have npm package for functions-emulator installed.

try installing it by npm install -g @google-cloud/functions-emulator

sandyJoshi
  • 733
  • 9
  • 20