-
Notifications
You must be signed in to change notification settings - Fork 256
RLS missing on latest nightly #641
Comments
Duplicate of #611 |
For those who made it here looking for a workaround, the most recent toolchain I found which still has
Then in your VSCode user settings:
|
It's annoying, so I wrote a simple script to help you find the latest nightly version containing rls-preview, have a try🤪 https://gist.github.com/crazymousethief/5748ab45fa8ac2034e198d023eb336e5 or just do this
|
To ease the pain, one can use @alexheretic's script to see if the new version contains the rls component: rust-lang/rustup#1301 (comment) |
@crazymousethief ah, you were faster! 😉 #!/usr/bin/env bash
# Update rust nightly as long as rls is included
if curl https://static.rust-lang.org/dist/channel-rust-nightly.toml 2>/dev/null | grep -q 'rls-preview'
then
rustup update nightly
else
echo 'latest nightly is missing rls' >&2
exit 1
fi |
@Xanewok Wow, thanks, I will use it for the next upgrade🎉 |
seeing same issue with windows. when will the core rustup issue get fixed? |
Hopefully the rls and rustfmt will be included in today's nightly, as per rust-lang-nursery/rust-toolstate@ac83be8 |
rls-preview component should be available in the 2017-12-30 nightly build (https://static.rust-lang.org/dist/channel-rust-nightly.toml)! |
You can check the nightly RLS status over at https://rust-lang-nursery.github.io/rust-toolstate/ (thanks @kennytm!). Closing this as there's no way we can 'fix' the issue instead of somehow always guaranteeing that the tool builds with every commit in Rust CI. The information here should be enough to help users with what to do when the rls component is missing in nightly. |
I guess it is not easy to just bundle the last working one, compiled against the old compiler? |
I don't think it is that easy. When loading, the dynamic linker looks for a specific library. Even if nothing changed, I think it would still count as a different library, but stuff would change (even if it is not API the RLS uses) and that means the RLS executable wouldn't be able to find the ABI it needs. |
@Xanewok Considering that |
Well, the older RLS could bundle its copy of the old old library too. I don't know how easy or hard would that be to do and it would make the rls component significantly bigger. Not saying that's worth it, though. |
Has it disappeared from Nightly again? |
Nope. As linked above, there is a website that shows whether RLS was in the latest nightly or not. I just confirmed locally that RLS is part of the latest nightly, if you follow the instructions to install it. |
ok thanks @coder543 looks like i must have uninstalled it, i reinstalled it and its working now |
Gone again for To get back into a working state, do the following: List the installed toolchains to find the platform-specific name of the just installed toolchain: Set default to that toolchain: Install RLS for that toolchain: Leaving this step-by-step instruction here because this issue shows up when you google the problem. |
Yep it has disappeared again on linux too, just like the old days. My understanding was that rust releases would be blocked on rls now, so this shouldn't happen. Hopefully this is just a mistake. Nice to see my atom ide-rust code still handling this case well. But I'm less impressed with |
@huxi I've tried to downgrade nightly and now I'm getting |
@Kane-Sendgrid If this is an error in an IDE like VS Code then it might help to restart the IDE. Not aware of this error in particular but had some errors like that in the past after upgrading. Restarting the IDE helped. |
@huxi yeah, that comes from IDE (vs code), rls works separately, I guess I'll try to bug plugin team (restart doesn't help). Thanks! |
RLS is present again in today's nightly. Sorry for the disruption. |
😐
|
I also thought it was supposed to block if components were not available but now this horrible thing happened:
and it continued to remove my old install and 'update' to something that is obviously useless. |
Suddenly I get the same error after trying to update the toolchains (everything was up to date though): |
Should be back again today and we're looking into why the update went badly |
@nrc Could you please make sure we can make sure we always have rls, clippy and so on included? |
Thanks for fixing it so quickly. I think the best case is for rustup to just refuse to do the update if currently added components are not available. This could be overridden by a --force, or even require the user to remove the component first before updating. That way you can be certain an existing working install won't be trashed. |
We were doing this, but the tools were breaking so often that we didn't get a nightly for more than a week, so we had to change to issuing nightlies without broken tools.
This is what should happen, but we've had a few teething troubles. Hopefully they are all resolved now. |
|
(rustup 1.13.0) So at least the update aborted this time, which is already better! :) |
After a clean install of rustup and the toolchain:
|
FYI; the current latest nightly containing RLS seems to be this one for me:
|
There seems to be a new nightly out that fixes this: |
Looks like the latest nightly for Mac is missing
|
I'm on 1.32 nightly. How do I get rls working in vscode again? |
rustc 1.32.0-nightly (4a45578bc 2018-12-07) - toolchain without rls rustfmt and clippy? |
On these pages, you can see that the last nightly with I believe the solution is to install that nightly until there is a more up-to-date nightly with |
Whats the reason rls keeps dropping out from nightly? |
Here's how I understand it. The development of rustc's internals is quite fast paced. Downstream projects that rely on nightly internals, particularly clippy, can break fairly often because of this. Rust can either not release a nightly when this happens, or release one without clippy & rls. They did follow the former strategy for a while, but now follow the latter to avoid blocking the rust nightly releases for over-long periods for people that don't need clippy/rls. To mitigate the issues we have:
|
Thanks @alexheretic great answer |
In case there is no nightly with desired components in the latest build list (e.g. now rls has been missing for many days) sometimes even running #!/bin/bash
commitHash=$(curl https://raw.githubusercontent.com/rust-lang-nursery/rust-toolstate/master/history/linux.tsv 2> /dev/null \
| sed 1d | grep "\"rls\":\"test-pass\"" | grep "\"miri\":\"test-pass\"" \
| grep "\"rustfmt\":\"test-pass\"" | grep "\"rust-by-example\":\"test-pass\"" \
| grep "\"clippy-driver\":\"test-pass\"" | grep "\"reference\":\"test-pass\"" \
| head -n1 | cut -d$'\t' -f1)
commitDate=$(curl -X GET "https://api.github.com/repos/rust-lang/rust/commits/$commitHash" 2> /dev/null \
| python -c "import sys,json; print json.load(sys.stdin)['commit']['author']['date']")
date --date=$commitDate --iso-8601=date It will return you e.g. date
|
I had to remove the grep for rustfmt and clippy-driver to get correct results. Those entries disappeared a while ago from the history. After those changes the script does still work nicely, thank you!
|
It's in the title. Looks like you can't install rls-preview anymore (or even rls) with the latest nightly.
The text was updated successfully, but these errors were encountered: