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

Possible regression in yarn, can't deploy #342

Closed
groeneman opened this issue Nov 14, 2016 · 6 comments
Closed

Possible regression in yarn, can't deploy #342

groeneman opened this issue Nov 14, 2016 · 6 comments

Comments

@groeneman
Copy link

Related to yarnpkg/yarn#1818

Looks like there's a regression in yarn 0.17.0 that is breaking Heroku deploys. From looking at

local download_url="https://yarnpkg.com/latest.tar.gz"
it appears that the buildpack always installs the latest version of yarn. I'm not seeing a way to download a specific version of yarn from https://yarnpkg.com/, but seems like that's what we'd need to do until the regression is fixed.

remote: -----> Installing binaries
remote:        engines.node (package.json):  unspecified
remote:        engines.npm (package.json):   unspecified (use default)
remote:        
remote:        Resolving node version (latest stable) via semver.io...
remote:        Downloading and installing node 5.11.1...
remote:        Using default npm version: 3.8.6
remote:        Downloading and installing yarn...
remote: /tmp/build_b05305c5f30e428e6609342e840711f1/.heroku/yarn/bin/yarn.js:47
remote:       throw err;
remote:       ^
remote: 
remote: Error: ENOENT: no such file or directory, open '/app/.cache/yarn/.roadrunner.json'
remote:     at Error (native)
remote:     at Object.fs.openSync (fs.js:584:18)
remote:     at Object.fs.writeFileSync (fs.js:1224:33)
remote:     at /tmp/build_b05305c5f30e428e6609342e840711f1/.heroku/yarn/node_modules/roadrunner/index.js:25:6
remote:     at /tmp/build_b05305c5f30e428e6609342e840711f1/.heroku/yarn/node_modules/roadrunner/index.js:12:12
remote:     at emitOne (events.js:95:20)
remote:     at process.emit (events.js:182:7)
remote:     at processEmit [as emit] (/tmp/build_b05305c5f30e428e6609342e840711f1/.heroku/yarn/node_modules/signal-exit/index.js:140:35)
remote:     at process.exit (internal/process.js:79:15)
remote:     at Command.<anonymous> (/tmp/build_b05305c5f30e428e6609342e840711f1/.heroku/yarn/node_modules/commander/index.js:825:13)
remote:        Installed yarn 0.17.0
@dpatti
Copy link

dpatti commented Nov 14, 2016

Here's a forked buildpack that installs 0.16.1 if anyone needs a quick workaround:

https://github.com/Genius/heroku-buildpack-nodejs.git#yarn-0.16.1

And here's the commit if you'd rather do it yourself: Genius@37a4c33

@hunterloftis
Copy link
Contributor

Thanks for the heads up, I'll implement yarn versioning this week. Thanks @dpatti for the workaround.

@Daniel15
Copy link

I'm not seeing a way to download a specific version of yarn from https://yarnpkg.com/

You can use https://yarnpkg.com/downloads/0.16.1/yarn-v0.16.1.tar.gz as the download URL if you'd like to lock it to a particular Yarn version

@kevinzwhuang
Copy link

@hunterloftis any update on yarn versioning with the buildpack?

@joshmanders
Copy link

Not to be annoying, but curious what's the status of this? Do you need assistance getting it shipped? RIght now I use yarn for everything everywhere, locally, in CI, and buildpacks are the only place it's missing.

lfittl added a commit to lfittl/heroku-buildpack-nodejs that referenced this issue Dec 13, 2016
dylanjha added a commit to crowdcst/heroku-buildpack-nodejs that referenced this issue Dec 14, 2016
@hunterloftis
Copy link
Contributor

All set in master. You can:

  1. Just check yarn.lock into git, to pull the latest version
  2. Optionally set engines.yarn in package.json (to either a version or a semver range)

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

6 participants