更新至 21.04 后 Apache 未完全安装且 JavaScript 不起作用

更新至 21.04 后 Apache 未完全安装且 JavaScript 不起作用

Apache 正在运行并提供页面服务,但它似乎在升级期间仅进行了部分更新,并阻止了进一步更新。

sudo apt upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] y

Setting up apache2 (2.4.46-4ubuntu1.1) ...
info: Executing deferred 'a2enconf javascript-common' for package javascript-common
ERROR: Conf javascript-common does not exist!
dpkg: error processing package apache2 (--configure):
 installed apache2 package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
 apache2
E: Sub-process /usr/bin/dpkg returned an error code (1)

在上面,记下所有零和1 not fully installed or removed。我不想删除 Apache2,而只是想修复它以完成升级,那么我该怎么做?

我在运行开发站点时注意到的一件事是 JavaScript 似乎无法正常工作,但不确定需要什么来修复它。看到 javascript-common 的错误并了解到它可以被删除,我尝试这样做以完成 apache2 更新,但使用它的站点上仍然没有 Javascript,但上述错误现在似乎消失了。在版本升级之前,Javascript 可以正常工作。

sudo apt-get purge javascript-common
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages will be REMOVED:
  javascript-common*
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 33.8 kB disk space will be freed.
Do you want to continue? [Y/n] y

(Reading database ... 740588 files and directories currently installed.)
Removing javascript-common (11+nmu1) ...
Package apache2 is not configured yet. Will defer actions by package javascript-common.
Setting up apache2 (2.4.46-4ubuntu1.1) ...
apache-htcacheclean.service is a disabled or a static unit not running, not starting it.
(Reading database ... 740583 files and directories currently installed.)
Purging configuration files for javascript-common (11+nmu1) ...
apache2_invoke javascript-common postrm: No action required

答案1

我在运行开发网站时注意到的一件事是 JavaScript 似乎不起作用,但不确定需要什么来修复它。看到 javascript-common 的错误并读到它可以被删除,我尝试这样做,但使用它的网站上仍然没有 Javascript,但上面的错误现在似乎消失了。

这是不太可能与包裹相关javascript-common

网页上的 JavaScript 只是静态数据,由 Web 服务器提供给客户端,并由客户端执行。服务器不需要任何 JavaScript 库;它只需要使用正确的 MIME 类型提供服务,任何现有的 Apache2 都应该可以自行完成此操作。

如果网页中的 javascript 无法运行,这可能与服务器无关,而是与网页有关,您必须使用浏览器(或类似的开发环境)中的工具对其进行调试。

javascript-common包含一些库,例如 jquery、sphinxdoc 和 underscore,以及使这些库在 下可用的 Apache 配置/javascript。它不会修改 Apache 发送的 mime 类型,这对您的 Web 开发来说很重要。

相关内容