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

New versions of node break the build #112

Open
grandafrato opened this issue Nov 21, 2020 · 17 comments
Open

New versions of node break the build #112

grandafrato opened this issue Nov 21, 2020 · 17 comments

Comments

@grandafrato
Copy link
Contributor

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

@AaronJamesKing
Copy link

I also had a problem with a newer Node version (12.15.0):

...
-----> Phoenix app detected
-----> Loading configuration and environment
       Loading config...
       Detecting assets directory
       WARNING: no package.json detected in root nor custom directory
       * assuming phoenix 1.3.x and later, please check config file
       Will use phoenix configuration:
       * assets path assets
       * mix tasks namespace phx
       Will use the following versions:
       * Node 12.15.0
       Will export the following config vars:
DATABASE_URL
POOL_SIZE
SECRET_KEY_BASE
       * MIX_ENV=prod
-----> Installing binaries
Resolving node version 12.15.0...
Downloading and installing node 12.15.0...
       Installing Node 12.15.0...
       Using default npm version 6.13.4
-----> Building dependencies
       Installing node modules
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.13 (node_modules/watchpack-chokidar2/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.13: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.3.2 (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.3.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm ERR! invalid bin entry for package @babel/parser@7.12.17. key=parser, value=bin/babel-parser.js
npm ERR! A complete log of this run can be found in:
npm ERR!     /app/.npm/_logs/2021-02-21T01_45_52_394Z-debug.log
 !     Push rejected, failed to compile Phoenix app.
 !     Push failed

Fixed and successfully deployed using Node 10.20.1

@canelle20214
Copy link

canelle20214 commented Aug 17, 2021

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

@jaimeiniesta
Copy link

jaimeiniesta commented May 26, 2023

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.

@pankamyk
Copy link

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

@jaimeiniesta
Copy link

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

@kkenan
Copy link

kkenan commented May 26, 2023

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"

@pankamyk
Copy link

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

@mracos
Copy link

mracos commented May 26, 2023

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

@jaimeiniesta
Copy link

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

@joshwlewis
Copy link

joshwlewis commented May 26, 2023

Hi - Heroku did run a brownout on nodebin.herokai.com. Heroku has removed all dependencies on that service and hasn't used it internally for 4 years. The service will be decommissioned very soon. I'd heavily suggest removing the dependency from this buildpack. Gigalixir's fork will likely work as a short term fix, though keep in mind that both are very old forks of https://github.com/heroku/heroku-buildpack-nodejs, so I'd suggest using the latter if possible.

@jaimeiniesta
Copy link

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.

@WillRochaThomas
Copy link

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

@edmorley
Copy link

See:
https://devcenter.heroku.com/changelog-items/2598

@jaimeiniesta
Copy link

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

@kaikuchn
Copy link

kaikuchn commented Jun 1, 2023

Hi - Heroku did run a brownout on nodebin.herokai.com. Heroku has removed all dependencies on that service and hasn't used it internally for 4 years. The service will be decommissioned very soon. I'd heavily suggest removing the dependency from this buildpack. Gigalixir's fork will likely work as a short term fix, though keep in mind that both are very old forks of https://github.com/heroku/heroku-buildpack-nodejs, so I'd suggest using the latter if possible.

Sadly the official buildpack only supports projects with a root-level package.json. There's a dirty hack to fix this but it ain't pretty.
I.e. this would require much more work than just switching them out and changing some config.

kaikuchn added a commit to STUDITEMPS/heroku-buildpack-phoenix-static that referenced this issue Jun 1, 2023
@WillRochaThomas
Copy link

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?

@pankamyk
Copy link

pankamyk commented Jun 7, 2023

Is this buildpack even maintained anymore?

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