我目前正在尝试在Windows操作系统上安装和更新一些软件包。 唯一的问题是,我正在使用Cygwin来通过terminal键入命令(正如我所知,我可以在Cygwin上键入Linuxtypes的命令,如cd,ls等 – 我可能是错的)。 但是,当我尝试安装一个包如:
sudo apt-get install paparazzi-dev
我得到了答复:
-sh: sudo: command not found.
有没有人有一个想法,我该如何解决这个问题?
Cygwin不是一个完整的Linux发行版。 因此,你没有sudo或Debian / Ubuntu包管理器apt-get。 Cygwin存储库提供了许多软件包: http : //cygwin.com/packages/您必须在安装过程中选择这些软件包。
以管理员身份运行cygwin ..那么你不需要任何sudo命令。
Windows没有sudo,apt或几乎所有的Linux命令。 Cygwin可能允许一些,但作为程序不安装在Windows上作为软件包apt-get将无法正常工作。 Windows程序将安装程序替换为.exe或.msi。
Windows版本的sudo称为runas,以防需要以其他用户的身份运行某些东西。 或者,您可以以管理员身份运行Cygwin。
如果你必须使用这个软件包,你需要Linux。 您可以直接安装它来替换Windows,双启动或使用虚拟化软件,如VMware VirtualBox。
从@Aimal的回答中得出一个解释性答案,就像它为我工作一样。
Cygwin
可能无法通过单击处于正常模式的Cygwin
图标运行时获得permissions to create folders and files
。
Cygwin
只有在cygwin icon
right click -> "run as adminitrator"
时才能获得正确的授权,因为它获得permissions to create folders and files
。
Cygwin让你运行某些命令,比如cd,ls或者mv; 但它不会让您运行其他命令,如sudo或apt-get。
如果您想要将软件包添加到Cygwin安装中,请重新运行Cygwin安装程序。 它可能仍然在您的“下载”文件夹中。 再次通过所有的步骤。 Cygwin安装程序将自动下载并安装所需的软件包,并将其添加到Cygwin安装中。 (我想也可能会将所有其他已安装的Cygwin软件包升级到最新的可用版本。)
如果您所需的软件包不在Cygwin软件包列表中,而是在Cygwin Ports软件包列表中 ,请按照Cygwin端口安装说明进行操作 。 请注意,Cygwin Ports与Cygwin是分开的。 请不要将有关Cygwin Ports软件包的消息发送到cygwin.com邮件列表。
如果您有多年的Linux经验,您可以在Cygwin中编译您想要的软件。 这可能是有挑战性的。
也许比“编译自己”更简单的选项是:你可以安装VirtualBox,然后在虚拟机中安装你最喜欢的Linux发行版,然后在Linux中安装你想要的软件包。 (我喜欢Ubuntu Linux,在其“Universe”存储库中有超过27,000个软件包)。现在,您可以同时运行Linux和Windows。
我认为我做了一些研究和成功之后,尝试了下面的步骤(在Windows上)
1.安装勺子使用PowerShell 3(iex(新对象net.webclient).downloadstring(' https://get.scoop.sh '))2.做scoop安装 – 全球sudo 3.确保路径(C: \ Users \\ scoop \ shims&C:\ ProgramData \ scoop \ shims)添加到环境路径变量中。
在我的情况下,我想安装curl,但是在运行“make install”命令时无法创建目录/ usr / local / curl / lib,因为权限被拒绝。 所以我需要更改/ usr / local权限。 当我运行sudo chmod 755 / usr / local时,找不到sudo命令。
在搜索了一些解决方案后,发现在Cygwin中默认没有安装sudo。 但是我尝试了Aimal给出的解决方案,即以管理员身份运行Cygwin。 我终于可以改变文件夹权限。 谢谢Aimal。