为什么我不能用apt-get install安装多个软件包?

时间:2014-03-09 15:29:41

标签: debian apt-get

我在尝试安装多个软件包时遇到问题

例如,当我尝试这个时:

apt-get install php5-gd php5-idn php-pear php5-imagick php5-imap php5-json etc..  

我得到:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package php5-gd php5-idn php-pear php5-imagick php5-imap php5-json

但我一次安装软件包没有问题。

我做错了吗?

4 个答案:

答案 0 :(得分:1)

您没有使用管理员权限运行apt-get。为此,请确保使用sudo 在执行apt-get之前。

这是完整的命令:

sudo apt-get install php5-gd php5-idn php-pear php5-imagick php5-imap php5-json

答案 1 :(得分:1)

我在使用干净的ubuntu安装时遇到了同样的问题。运行

apt-get update

帮助,因为它提取了最新的包裹信息。

答案 2 :(得分:0)

您的错误消息讲述了这个故事:致电

apt-get install does not exist but bash does

结果应为:

Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package does
E: Unable to locate package not
E: Unable to locate package exist
E: Unable to locate package but
E: Unable to locate package does

您只获得一行,这意味着您的shell本身或在apt-get的shell中定义的任何别名或函数不会将单个包名称作为单个参数发送到实际可执行文件,而是作为一个长包含空格的参数。我认为这是tripleee所指出的。

要了解会发生什么:

  1. 如果您没有直接输入" normal" shell但是成为一个包装器(shell的Web前端计算如此):停止执行该操作或查找包装器的文档
  2. 如果您确实输入了正确的内容,请检查是否定义了别名或函数:
    • 输入:type apt-get
    • 应该返回:apt-get is /usr/bin/apt-get
    • 如果它返回apt-get is a functionapt-get is aliased to ...,则表示您有答案

答案 3 :(得分:0)

我认为这可能是一个复制粘贴/行结尾问题。 尝试将包含长列表包的行放在自己的shell文件中,然后运行。以下似乎可靠地运作:

E.g:

gedit installer.sh

然后粘贴长行并保存:

sudo apt-get install php-gd php-pear php-imagick php-imap php-json

然后设置权限并运行:

chmod +x installer.sh
./installer.sh