I am trying to install nightly rust on a new computer running ubuntu, and all the commands (rustc, cargo, rustup) are working, but only if I do not run them as root. For example, if I want to build a program without using sudo, it will say:
error: failed to open: /home/thiv/project/target/debug/.cargo-lock
Permission denied (os error 13)
Naturally, I tried to use "sudo cargo build", but the terminal responds with:
sudo: cargo: command not found
How do I fix this?
Did you install
rustup or via
cargo installed by
rustup aren't intended to be used with
sudo, ever. Why are you using
Cargo gets installed locally per user by rustup. For example my cargo executable is: /home/zicog/.cargo/bin/cargo
When you run as root/sudo then your home directory is /root and/or your environment is gone and of course nothing works.
But the question is why is your .cargo-lock not usable? Sounds like the lock is still held by another cargo instance.
.cargo-lock is now owned by
root from a previous
Ah, It turns out that the file was locked because I pulled changes in the project from gitlab, which locks the files, so I unlocked them using chmod, and now I don't need root.
This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.