elm / compiler

Compiler for Elm, a functional language for reliable webapps.
https://elm-lang.org/
BSD 3-Clause "New" or "Revised" License
7.51k stars 656 forks source link

Problem with the NPM package - 403 Forbidden from dl.bintray.com #2202

Open durkiewicz opened 3 years ago

durkiewicz commented 3 years ago

Quick Summary: Cannot install Elm 0.16.0

Unfortunately, I have a dependency to Elm 0.16.0 in my package.json. When I run npm ci (or npm install), I'm getting:

> node install.js

Unable to download elm-reactor assets. elm-reactor may not work properly.
403
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! elm@0.16.0 install: `node install.js`
npm ERR! Exit status 1

The reason seems to be quite obvious: the requests to the URLs below end up with 403 Forbidden errors.

https://dl.bintray.com/elmlang/elm-platform/0.16.0/linux-x64.tar.gz https://dl.bintray.com/elmlang/elm-platform/0.16.0/elm-reactor-assets.tar.gz

Can you please fix it?

I'm raising the bug here as the "Issues" link from https://www.npmjs.com/package/elm points here.

github-actions[bot] commented 3 years ago

Thanks for reporting this! To set expectations:

Finally, please be patient with the core team. They are trying their best with limited resources.

lydell commented 3 years ago

Hi!

See this Discourse thread for more information: https://discourse.elm-lang.org/t/psa-old-elm-binary-downloads-now-gone/7319

soenkehahn commented 3 years ago

The discourse thread mentions workarounds for 0.18.0. I have the same problem with 0.17.1, and those workarounds don't work for that version. For example, I haven't been able to find any binary tarballs on github for 0.17.1. (here) Are there any known workaround for 0.17.1?

I was looking at the tags on https://github.com/elm-lang/elm-platform, hoping that I could build elm-platform from source. But it doesn't have a 0.17.1 tag. Which repo(s) was 0.17.1 originally built from? And from which commits?

Edit: There's binary versions for 0.17.0 here: https://github.com/lydell/elm-old-binaries/releases/tag/main

lydell commented 3 years ago

The Discourse post links to a place to download many old Elm binaries, including 0.17.1. So you can download from there if you trust me – that’s a workaround for 0.17.1.

Elm 0.18.0 seems to be the only pre-0.19 version that was updated to use GitHub releases instead of bintray.

(I don’t know which repo(s) 0.17.1 was originally built from.)

avh4 commented 3 years ago

I'm not sure if this will lead to a solution for 0.17, but I believe this is around the commit that would be relevant to the 0.17.1 release: https://github.com/elm-lang/elm-platform/tree/b7a68b23dc3db5c0c7707d70955e953b8cada7f1

soenkehahn commented 3 years ago

@lydell: Right, sorry, I missed that. :+1:

soenkehahn commented 3 years ago

@avh4: Yeah, I looked at some of those untagged commits. The build instructions say that I need a cabal version that supports the sandbox sub-command. Which was removed from cabal some time ago, it seems: https://github.com/haskell/cabal/issues/6445. I gave up at that point.