Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Trouble deploying with gen #3

Open
ggamel opened this issue Jan 8, 2018 · 2 comments
Open

Trouble deploying with gen #3

ggamel opened this issue Jan 8, 2018 · 2 comments

Comments

@ggamel
Copy link

ggamel commented Jan 8, 2018

Problem

Build command successfully works under macOS, not on Netlify.

Expected behavior

gen successfully deploys using build command.

Actual Behavior

gen fails with exit code 1 when deploying using Netlify

Here's the relevant portion of the deploy log from Netlify showing an apparent issue encountered with gen@L65

Deploy log

11:10:41 PM: NPM modules installed
11:10:42 PM: /opt/build/repo/node_modules/@compositor/gen/bin/cli.js:65
const create = async (dirname, opts) => {
                     ^

SyntaxError: Unexpected token (
    at createScript (vm.js:56:10)
    at Object.runInThisContext (vm.js:97:10)
    at Module._compile (module.js:542:28)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.runMain (module.js:604:10)
    at run (bootstrap_node.js:383:7)
    at startup (bootstrap_node.js:149:9)
11:10:42 PM: Cached NPM modules
11:10:42 PM: Build complete: exit code: 1
11:10:42 PM: Cleaning up docker container
11:10:42 PM: Error running command: Build script returned non-zero exit code: 1
11:10:42 PM: An error occurred while building the site, skipping the deploy and cache refresh.
11:10:43 PM: Build script returned non-zero exit code: 1
11:10:43 PM: Finished processing build request in 39.073240634s

For reference, here's my package.json:

{
  "name": "2018.greg.is",
  "version": "0.0.1",
  "description": "Primary site of Greg Gamel",
  "scripts": {
    "test": "which gen",
    "start": "gen src -Dop 8080",
    "build": "gen src -d dist"
  },
  "author": "Greg Gamel",
  "devDependencies": {
    "@compositor/gen": "^1.0.0-4"
  }
}

My site structure is currently identical to the gen example dir

Again, everything works locally without error or issue. Not sure what might be the issue. Any guidance would be appreciated.

@johno
Copy link
Member

johno commented Jan 8, 2018

Hey @ggamel, thanks for the detailed report. At first glance it looks like an issue with node versioning. async/await is supported in Node v7.6(?) and later. What version of node is running where the Netlify build is failing?

@ggamel
Copy link
Author

ggamel commented Jan 8, 2018

Hey @johnotander. Thanks for the pointer. I've now solved the deploy issue. This was a fun issue to work through & solve.

For posterity, and to help anyone else who wishes to use Netlify with gen, all working steps & config are below:

gen dir setup

Follow your heart or refer to this helpful examples dir

Set locally

Inside the repo

Export your node version to .nvmrc file:

node -v > .nvmrc

Commit .nvmrc to repo and push to GitHub:

g commit -m "Add nvmrc with node version to satisfy Netlify"

Make sure you have gen installed in devDependencies:

npm i -D @compositor/gen

Add scripts to your package.json:

  "scripts": {
    "test": "which gen",
    "start": "gen src -Dop 8080",
    "build": "gen src -d dist"
  }

Note: Test these scripts to make sure they fit with your gen dir setup.


Set on Netlify

Connect your fully pushed repo

  1. Log in to Netlify
  2. Pressing New site from Git
  3. Locate Build & deploy under Site Settings > Deploy Settings
  4. Set settings as below:
    image
  5. Save
  6. Locate Build environment variables under Site Settings > Deploy Settings
  7. Set settings as below:
    image

Push & Deploy

Everything should be set. Now verify your repo is pushed to GitHub, open Netlify, watch the deploy log, and rejoice when your deploy/build is successful.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants