Rustup: error: missing key: 'url'

Created on 13 Apr 2017  路  31Comments  路  Source: rust-lang/rustup

When running rustup update, I get the following output:

info: syncing channel updates for 'stable-x86_64-unknown-linux-gnu'
info: syncing channel updates for 'nightly-x86_64-unknown-linux-gnu'
error: missing key: 'url'

       stable-x86_64-unknown-linux-gnu unchanged - rustc 1.16.0 (30cf806ef 2017-03-10)
  nightly-x86_64-unknown-linux-gnu update failed - rustc 1.18.0-nightly (c58c928e6 2017-04-11)

As the targets for the channels suggest, I'm running an x86_64 Linux machine. I have rustup 1.2.0 installed.

Most helpful comment

For the sake of anybody stuck without rust toolchain due to this bug, this is a workaround for the install nightly:

rustup install nightly-2017-04-11

All 31 comments

have the same issue in Mac

$ rustup --version
rustup 1.2.0 (70faf07 2017-04-08)

$ rustup update
info: syncing channel updates for 'nightly-x86_64-apple-darwin'
error: missing key: 'url'
info: checking for self-updates

  nightly-x86_64-apple-darwin update failed - rustc 1.17.0-nightly (ccce2c6eb 2017-03-27)

$ rustup install nightly-x86_64-apple-darwin
info: syncing channel updates for 'nightly-x86_64-apple-darwin'
173.9 KiB / 173.9 KiB (100 %)  41.4 KiB/s ETA:   0 s
error: missing key: 'url'

I have the same issue when Travis CI tries to install Rust nightly using travis-cargo. Stable and beta work, though.

Installing Rust
$ curl -sSf https://build.travis-ci.org/files/rustup-init.sh | sh -s -- --default-toolchain=$TRAVIS_RUST_VERSION -y
info: downloading installer
info: syncing channel updates for 'nightly-x86_64-unknown-linux-gnu'
error: missing key: 'url'
rustup: command failed: /tmp/tmp.GY1L9aI7C8/rustup-init --default-toolchain=nightly -y

$ curl -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=$TRAVIS_RUST_VERSION -y
info: downloading installer
info: syncing channel updates for 'nightly-x86_64-unknown-linux-gnu'
error: missing key: 'url'

The command "curl -sSf https://sh.rustup.rs | sh -s -- --default-toolchain=$TRAVIS_RUST_VERSION -y" failed and exited with 1 during .

@erickt and I are looking into this and coordinating investigation in the #rust-infra IRC room

This might have been broken by https://github.com/rust-lang/rust/pull/40584, which modifies the code that I think generates https://static.rust-lang.org/dist/channel-rust-nightly.toml.

cc @nrc / @alexcrichton / @brson

from https://static.rust-lang.org/dist/channel-rust-nightly.toml, rls part is indeed missing url: that the other parts have:

[pkg.rls]
version = "0.1.0-nightly (016cbc514 2017-04-08)"

[pkg.rls.target]

wait though, there are other things in this file that don't have url:

[[pkg.rust.target.x86_64-unknown-netbsd.extensions]]
pkg = "rust-std"
target = "i686-unknown-linux-gnu"

I have the same issue on osx.

[19:56:31] ~ rustup --version
rustup 1.2.0 (70faf07 2017-04-08)
[19:56:34] ~ rustup update
info: syncing channel updates for 'stable-x86_64-apple-darwin'
info: checking for self-updates

  stable-x86_64-apple-darwin unchanged - rustc 1.16.0 (30cf806ef 2017-03-10)

[19:56:39] ~ rustup install nightly
info: syncing channel updates for 'nightly-x86_64-apple-darwin'
error: missing key: 'url'

acrichto> 2 bugs here
11:02 PM 1) rustup doesn't handle available = false well
11:02 PM 2) we're not producing analysis packages for targets

acrichto> rustup bug is here -
11:04 PM https://github.com/rust-lang-nursery/rustup.rs/blob/master/src/rustup-dist/src/manifest.rs#L231
11:04 PM that's just not handling the case where available = false
11:04 PM avialale = false is intended for "this failed to build tonight but we decided to ship a nightly"
11:04 PM in practice that's never been exercised

Alex is fixing the rustbuild side of this but testing it might take some time and might not be fixed until tomorrow PDT.

@carols10cents thanks for the heads up.

If there are rls-related things that need to be fixed, lemme know (though I'll soon be out for the next four days for Easter break)

same on debian testing

I've submitted a fix for rust-lang/rust at https://github.com/rust-lang/rust/pull/41267

For the sake of anybody stuck without rust toolchain due to this bug, this is a workaround for the install nightly:

rustup install nightly-2017-04-11

rustup update info: syncing channel updates for 'stable-x86_64-apple-darwin' info: syncing channel updates for 'nightly-x86_64-apple-darwin' error: missing key: 'url' info: checking for self-updates stable-x86_64-apple-darwin unchanged - rustc 1.16.0 (30cf806ef 2017-03-10) nightly-x86_64-apple-darwin update failed - rustc 1.18.0-nightly (ad36c2f55 2017-04-09)

As a workaround for travis, in your .travis.yml, you can change:

 rust:
  - nightly

to this, to pin to last night's nightly for today:

rust:
  - nightly-2017-04-11

This worked for me.

Got a potential fix to add rustup support for unavailable packages up in #1063.

Thanks for the fix, it seems to be working again! I'm a little hesitant to unilaterally close this issue with so many other people having experienced the same issue, but feel free to close it if it's working for others as well (or you're sure it's fixed).

FWIW, I was experiencing this issue as well and it's now fixed for me :)

I have the same error with different output
info: syncing channel updates for 'nightly-x86_64-unknown-linux-gnu'
info: update not yet available, sorry! try again later
error: checksum failed, expected: 'ce0922b4314fd90e72909b12fe624478d177b635e36bdc86139a0ad95ecc53af', calculated: '1dd13e0516336102fc66d4c735448e0a418bfae55b3148dbe24a6f35f613b35a'

Closing as fixed upstream

@marti1125 that is a different issue - it just means that the CDN is temporarily out of sync due to caching pecularities, it should have fixed itself within a few minutes.

Infra team is investigating the recurrence of this failure.

I encountered this error message but re-running about an hour later succeeded. I hadn't updated in a while, if that matters.

First run:

[2017-09-29 01:50:00] ~ $ rustup update
info: syncing channel updates for 'stable-x86_64-unknown-linux-gnu'
error: missing key: 'url'
info: syncing channel updates for 'nightly-x86_64-unknown-linux-gnu'
info: downloading component 'rustc'
 54.0 MiB /  54.0 MiB (100 %)   6.6 MiB/s ETA:   0 s                
info: downloading component 'rust-std'
 81.4 MiB /  81.4 MiB (100 %)   6.7 MiB/s ETA:   0 s                
info: downloading component 'cargo'
info: downloading component 'rust-docs'
 14.3 MiB /  14.3 MiB (100 %)   6.7 MiB/s ETA:   0 s                
info: installing component 'rustc'
info: installing component 'rust-std'
info: installing component 'cargo'
info: installing component 'rust-docs'
info: checking for self-updates
info: downloading self-update

  stable-x86_64-unknown-linux-gnu update failed - rustc 1.8.0 (db2939409 2016-04-11)
       nightly-x86_64-unknown-linux-gnu updated - rustc 1.22.0-nightly (3c96d40d3 2017-09-28)

Second run:

[2017-09-29 03:06:39] ~ $ rustup update
info: syncing channel updates for 'stable-x86_64-unknown-linux-gnu'
info: latest update on 2017-08-31, rust version 1.20.0 (f3d6973f4 2017-08-27)
info: downloading component 'rustc'
 38.3 MiB /  38.3 MiB (100 %)   6.6 MiB/s ETA:   0 s                
info: downloading component 'rust-std'
 57.9 MiB /  57.9 MiB (100 %)   6.7 MiB/s ETA:   0 s                
info: downloading component 'cargo'
info: downloading component 'rust-docs'
info: removing component 'rustc'
info: removing component 'rust-std'
info: removing component 'rust-docs'
info: removing component 'cargo'
info: installing component 'rustc'
info: installing component 'rust-std'
info: installing component 'cargo'
info: installing component 'rust-docs'
info: syncing channel updates for 'nightly-x86_64-unknown-linux-gnu'
info: checking for self-updates

     stable-x86_64-unknown-linux-gnu updated - rustc 1.20.0 (f3d6973f4 2017-08-27)
  nightly-x86_64-unknown-linux-gnu unchanged - rustc 1.22.0-nightly (3c96d40d3 2017-09-28)

@numberoverzero I had that situation too. I believe it's because of the "downloading self-update" step in the first run, which has applied a fix. Future runs should proceed without error, hopefully.

Hi,

Same problem here:

$ rustup update stable
info: syncing channel updates for 'stable-x86_64-apple-darwin'
error: missing key: 'url'
$ rustup update stable
info: syncing channel updates for 'stable-x86_64-apple-darwin'
error: missing key: 'url'

Then I tried

$ rustup update
info: syncing channel updates for 'stable-x86_64-apple-darwin'
error: missing key: 'url'
info: checking for self-updates
info: downloading self-update

  stable-x86_64-apple-darwin update failed - rustc 1.17.0 (56124baa9 2017-04-24)

And finally:

$ rustup update stable
info: syncing channel updates for 'stable-x86_64-apple-darwin'
info: latest update on 2017-10-12, rust version 1.21.0 (3b72af97e 2017-10-09)
info: downloading component 'rustc'
 35.2 MiB /  35.2 MiB (100 %)   2.1 MiB/s ETA:   0 s
info: downloading component 'rust-std'
 48.0 MiB /  48.0 MiB (100 %)   2.1 MiB/s ETA:   0 s
info: downloading component 'cargo'
  2.7 MiB /   2.7 MiB (100 %)   2.3 MiB/s ETA:   0 s
info: downloading component 'rust-docs'
  4.0 MiB /   4.0 MiB (100 %)   2.3 MiB/s ETA:   0 s
info: removing component 'rustc'
info: removing component 'rust-std'
info: removing component 'cargo'
info: removing component 'rust-docs'
info: installing component 'rustc'
info: installing component 'rust-std'
info: installing component 'cargo'
info: installing component 'rust-docs'

  stable-x86_64-apple-darwin updated - rustc 1.21.0 (3b72af97e 2017-10-09)

Still happening - this time on Windows 7, running rustup-init ---default-host x86_64-pc-windows-gnu.

Any further clues? I like Windows GNU toolchain and would hate to have to have the dreaded cl.exe on this machine.

hit this today on "rustup update nightly" command.
Running "rustup update" and "rustup update nightly" worked.

Yep, I can confirm that this sorted out my problem as well!

Ay could rustup update provide a clearer error message, or default to the stable URL, or something?

I also had this problem today. The rustup update && rustup update nightly fix worked for me.
Would it not make sense to update the necessary part automatically?

@mqzry thanks rustup update worked for me :)

Was this page helpful?
0 / 5 - 0 ratings

Related issues

matthiaskrgr picture matthiaskrgr  路  3Comments

durka picture durka  路  3Comments

Stargateur picture Stargateur  路  3Comments

lilred picture lilred  路  3Comments

daboross picture daboross  路  4Comments