heroku-buildpack-phoenix-static: New versions of node break the build

When I tried building with node js 1.14+ i got this error:

/tmp/codon/tmp/buildpacks/046a7dbb0bd21772e3b9d262d0fbe72be102671d/lib/build.sh: line 29: fail_bin_install: command not found

And the whole deployment would fail. However, when I used version 10.20.1 (because that’s the version used in the phoenix docs) it just suddenly did work. I did not test for any versions in between that one and 1.14.0

About this issue

Commits related to this issue

Most upvoted comments

We’re experiencing same issue here.

It seems it fails on this line https://github.com/gjaldon/heroku-buildpack-phoenix-static/blob/master/lib/build.sh#LL28C30-L28C176 and it looks like https://nodebin.herokai.com is down.

curl --verbose --data-urlencode "range=18.16.0" "https://nodebin.herokai.com/v1/node/linux-x64/latest.txt"

Using Gigalixir’s fork instead of this buildpack works fine.

Same issue started happening for me today, I when I run the same command as mentioned above I also see

 # curl -get "https://nodebin.herokai.com/v1/node/linux-x64/latest.txt"
curl: (35) LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to nodebin.herokai.com:443

Is this buildpack even maintained anymore?

FYI, before forking myself found out that gigalixir’s fork fixed it 😄

I can confirm that it looks like the root of this problem lies in the nodebin.herokai.com service. Some issue with SSL

# curl -get "https://nodebin.herokai.com/v1/node/linux-x64/latest.txt"
curl: (35) LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to nodebin.herokai.com:443

This is suddenly failing for me, I hadn’t done any change to the config and had been able to deploy just fine, with Node 14, but then I started getting:

remote: /tmp/codon/tmp/buildpacks/046a7dbb0bd21772e3b9d262d0fbe72be102671d/lib/build.sh: line 29: fail_bin_install: command not found

I have tried upgrading the Heroku stack, and also to the latest versions of Node and NPM in my phoenix_static_buildpack.config like:

node_version=20.2.0
npm_version=9.6.6
clean_cache=true

But I still get that error:

remote: -----> Installing binaries
remote:        clean_cache option set to true.
remote:        Cleaning out cache contents
remote:        Cleaning up old Node v14.13.0
remote: Resolving node version 20.2.0...
remote: /tmp/codon/tmp/buildpacks/046a7dbb0bd21772e3b9d262d0fbe72be102671d/lib/build.sh: line 29: fail_bin_install: command not found
remote:  !     Push rejected, failed to compile Phoenix app.

I double-checked and Node 20.2.0 is available in Heroku. I also tried with 20.1.0 and also fails.

Using Gigalixir’s fork instead of this buildpack works fine.

It does but that is obviously a very temporary fix as others have pointed out. I’d be open to contributing to updates for this buildpack, but I think it’d be really helpful to have some contributing guidelines on the repository if anyone who’s worked on it before is happy to put those together?

Heroku informed me that the URL https://nodebin.herokai.com/ works again now.

Still, thanks for the warning that it will be decommissioned soon @joshwlewis - let’s remove that dependency.

Cool @mracos - I can confirm that deploys work fine with Gigalixir’s fork 👍

Thanks for the confirmation @pankamyk - I’ve submitted a ticket to Heroku.

I’ve encountered the same issue just now. No changes to buildpack config/node versions, but suddenly it keeps failing. Same error as everyone else. Npm/node versions:

node_version=13.14.0
npm_version=6.14

Same problem here with a deployment using Heroku. npm 6.14.13 and yarn 1.22.11

 -----> Installing binaries
remote: Resolving node version 6.14.13...
remote: /tmp/codon/tmp/buildpacks/e1ebc0ce039e2d6d22ca731aebc3580cbde46136/lib/build.sh: line 28: fail_bin_install: command not found
remote:  !     Push rejected, failed to compile Phoenix app.

Edit : The version of node was wrong. The error was solved by adding this to phoenix_static_buildpack.config :

node_version=14.17.3
npm_version=6.14.13
yarn_version=1.22.11