HI, I am new to rust and was reading official rust "book", i installed rust via following cmd: curl --proto '=https' --tlsv1.3 https://sh.rustup.rs -sSf | sh
while the official book mentions we can open rust docs locally offline after we have installed rust, by the following command rustup doc
but when I run this command, it gives me error: couldn't open browser: IO error: No such file or directory (os error 2)
. How can I solve this?
maybe you installed the toolchain with minimal profile?
what is the output of the following command:
$ rustup show
$ rustup component list --installed
that seems all right, rust-docs-xxx
is the offline documentation.
what is your desktop environment? specifically, what is the default web browser? if for some reason you don't have a default system web browser, you can set the BROWSER
environment variable to the path of your browser. for example, if your browser command is /usr/bin/firefox, try:
env BROWSER=/usr/bin/firefox rustup doc
Working on WSL .....
Also, I tried installing in windows ... it is not even executing rustc --version there ... throwing error
Its showing the version n all successfully in wsl but rustup docs is not opening up
Is there any other way I can open this file?
I think you can use the Windows web browser, as long your wsl distribution has enabled the interop
feature (enabled by default). for instance:
env BROWSER=/mnt/d/Applications/firefox-esr/firefox.exe rustup doc
the index file is located at ~/.rustup/toolchains/<DEFAULT-TOOLCHAIN-TRIPLET>/share/doc/rust/html/index.html
I can't find this file .... Also I can't find any file/directory of rust after installing it on windows .....
Can confirm this works (given a path to the browser, more likely /mnt/c/Program Files/Mozilla Firefox/firefox.exe
or mnt/c/Program Files/Google/Chrome/Application/chrome.exe
). This opens the impossible-to-guess URL of:
file://///wsl.localhost/Ubuntu/home/<username>/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/share/doc/rust/html/index.html
Five slashes. This is also accessible with wsl$
instead of wsl.localhost
, at least for me. If you're still on WSL1 then this is probably all different.
On Windows native, if you've installed rustup properly, you probably already have a default browser so rustup doc
should work. That one is at:
file:///C:/Users/<username>/.rustup/toolchains/stable-x86_64-pc-windows-msvc/share/doc/rust/html/index.html
But it sounds like on Windows native, you're having trouble installing rustup at all.
It'll probably be helpful to know what errors you're getting.
env BROWSER=C:/Program Files/Mozilla Firefox/firefox.exe.sig rustup doc
I am trying this , is it ok?
None of the other things worked
4 things:
- You can't use Windows paths on WSL. Absolute paths on Linux start with
/
instead of the drive letter likeC:/
. - The WSL filesystem is separate from your native Windows filesystem. However, WSL automatically mounts the Windows filesystem under
/mnt/<lowercase drive letter>
, so you can access your WindowsC:\
from WSL using/mnt/c/
. - When an environment variable has spaces, you need to put it in quotes or escape the spaces.
- You're trying to use
firefox.exe.sig
, which is not the browser.
Putting all that together:
env BROWSER="/mnt/c/Program Files/Mozilla Firefox/firefox.exe" rustup doc
P.S. you don't need env
but it doesn't affect anything in this case.
Also keep in mind that paths on Linux are case-sensitive.
Finally it worked!!!! Thanks for answering my queries patiently
I am going to ignore the installation problem in windows for now but this worked.
Thanks to u as well for trying to help me out here . I just had to replace /d with /c here and it worked .