【问题标题】:Unable to install PHP packages with apt-get, gives "E: Unable to locate package"无法使用 apt-get 安装 PHP 包,给出“E: Unable to locate package”
【发布时间】:2019-09-29 01:37:27
【问题描述】:

我实际上是在设置我的 vagrant vm(trusty-64,Ubuntu 发行版 v14.04),在安装所有 ppa:ondrej/php 包时遇到了问题。

我尝试了默认安装php的方式...

$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt-get update
$ sudo apt-get install php7.3

但还是有这个问题:

E: Unable to locate package php7.3
E: Couldn't find any package by regex 'php7.3'

他似乎忽略了添加的存储库(它没有在apt-get update 中列出),但命令似乎很好:

gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)
OK

实际上,我不知道出了什么问题。也许有人有一个想法并可以解释它?非常感谢。

更新:

Distributor ID: Ubuntu
Description:    Ubuntu 14.04.6 LTS
Release:        14.04
Codename:       trusty

used ubuntu/trusty64 vagrant box

这是最常见的 vagrant box,几乎没有预定义的设置。

source.list

/etc/apt/sources.list.d/ondrej-php-trusty.list
/etc/apt/sources.list.d/ondrej-php-trusty.list.save

它在源列表中,但仍被忽略。例如。 apt-cache search php7 总是不给出结果,而是给出一个列表。

我还破坏了盒子并设置了一个新的..但仍然是同样的问题。

【问题讨论】:

  • 您能否更新您的帖子,并提供指向您正在使用 Ubuntu 运行的确切版本的链接?另外,您有什么理由选择 14.04 而不是较新的 Ubuntu 发行版吗?像 18 岁?
  • 我遇到了同样的问题...我可以看到源代码,但是当我运行 apt-get update 时,ondrej/php 存储库没有出现您是否设法解决了这个问题?

标签: php linux ubuntu vagrant apt


【解决方案1】:

似乎 "ubuntu/trusty64" 框不再提供 php 包(更多详情 here)。 我通过在 Vagrantfile 中设置 config.vm.box = "ubuntu/xenial64" 解决了这个问题。

【讨论】:

    【解决方案2】:

    我查看了存储库,似乎不再支持 14.04。即使在 dist 包中列出了 trusty,但当我查看池时,没有任何 ubuntu 14.04。

    看这里:

    http://ppa.launchpad.net/ondrej/php/ubuntu/pool/main/p/php7.3/

    这可能解释了为什么运行时没有包含存储库

    sudo apt-get update
    

    我猜服务器更新不能再等了;)

    【讨论】:

    • 非常感谢。我有点错过了。所以这当然是有道理的。
    • 不用担心...幸运的是,dist-upgrade 运行良好。希望你也有同样的运气。
    • 很好的答案
    【解决方案3】:

    晚上,

    您是将其作为裸机系统还是 vagrant 容器运行?

    根据PPA Launchpad webiste的说明

    然后你运行:
    sudo add-apt-repository ppa:ondrej/php
    sudo apt-get update

    还列出了一个警告:
    WARNING: add-apt-repository is broken with non-UTF-8 locales,
    see https://github.com/oerdnj/deb.sury.org/issues/56 for workaround
    # LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php

    您是否在运行非默认语言环境?

    ASK UbuntuHere 上还有一个帖子可能对您有用。

    您还可以仔细检查 Ondřej Surý 的 PPA 是否在您的来源列表中。

    尝试locate sources.listlocate *.list 并尝试找到repo。

    here 上方有一个指南,可能也会有所帮助。

    【讨论】:

    • 感谢您的回复。它作为流浪容器运行,我的默认语言环境似乎很好LANG="en_US.UTF-8"。即使使用强制 LC_ALL 命令,它也不起作用。
    • 我更新了我的帖子,其中包含指向另一个帖子的链接,其中包含潜在的有用信息。
    • 在souce.list 中我可以找到/etc/apt/sources.list.d/ondrej-php-trusty.list.. 我更新了我的答案。我也在你的两个链接中尝试了很多东西,但它总是同样的问题。稍后我将使用 Ubuntu 18.04 机器进行尝试。但这很奇怪。几周前,我在相同的过程中安装了具有相同设置的相同盒子,一切都很好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-03
    • 2021-03-30
    • 1970-01-01
    • 2020-12-22
    • 2020-03-24
    相关资源
    最近更新 更多