Open grandafrato opened 3 years ago
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
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
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.
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
Thanks for the confirmation @pankamyk - I've submitted a ticket to Heroku.
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"
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
FYI, before forking myself found out that gigalixir's fork fixed it 😄
Cool @mracos - I can confirm that deploys work fine with Gigalixir's fork 👍
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.
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.
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
Using Gigalixir's fork instead of this buildpack works fine.
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.
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?
Is this buildpack even maintained anymore?
When I tried building with node js 1.14+ i got this error:
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