![为什么“sudo copa”命令不起作用,而“copa”命令起作用](https://linux22.com/image/1199464/%E4%B8%BA%E4%BB%80%E4%B9%88%E2%80%9Csudo%20copa%E2%80%9D%E5%91%BD%E4%BB%A4%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8%EF%BC%8C%E8%80%8C%E2%80%9Ccopa%E2%80%9D%E5%91%BD%E4%BB%A4%E8%B5%B7%E4%BD%9C%E7%94%A8.png)
我已经按照以下说明为 ubuntu 22.04 安装了 homebrew
https://owlhowto.com/how-to-install-homebrew-on-ubuntu-22-04/
然后我可以使用命令安装“copa”Microsoft 工具brew install copa
https://project-copacetic.github.io/copacetic/website/installation#development-setup
现在,当我尝试运行该命令时copa
,它正在运行
但是当我尝试使用 sudo 时sudo copa
,它给出以下错误
sudo: copa: command not found
可能是什么原因?为什么我无法使用 sudo 运行?其他命令sudo apt update
我都可以运行。
user1@Machine1:~$ whereis copa
copa: /home/linuxbrew/.linuxbrew/bin/copa
谢谢。
答案1
出于安全原因,请阅读为什么 Homebrew 说 sudo 不好?常见问题解答。
tl;dr Sudo 很危险,而且无论如何你都没有使用 sudo 就安装了 TextMate.app。
Homebrew 拒绝使用 sudo 运行。
你应该只使用你信任的工具。当然,你可以信任 Homebrew
答案2
每个用户都有一组$PATH
用于查找应用程序的目录()。
您的用户设置包括 copa 的路径,因此 copa 无需 sudo 即可工作。
使用sudo
引入了不同的环境。copa 的路径不在该环境中,因此找不到 copa。
由于 copa 是在您的 /home 目录中本地安装的,而不是为系统上的所有用户全局安装的,因此sudo
在任何情况下都不需要它。