将 Wikibase 扩展添加到 MediaWiki 安装时遇到问题

问题描述

我正在尝试设置新的 Mediawiki 1.35 安装并添加 Wikibase 扩展。安装在 proxmox 上托管的 Debian 10 LXC 容器上运行。

我一直在关注 Wikibase/Installation MediaWiki guide,但似乎卡住了。当我进入“运行维护脚本”步骤并尝试运行 PHP update.PHP 时,它会出现以下错误

[10e7e1e19b828fdfd6418545] [no req]   Error from line 47 of /var/lib/mediawiki/extensions/Wikibase/lib/WikibaseLib.entitytypes.PHP: Class 'Wikibase\DataModel\Entity\ItemId' not found
Backtrace:
#0 /var/lib/mediawiki/extensions/Wikibase/client/includes/WikibaseClient.PHP(532): require()
#1 /var/lib/mediawiki/extensions/Wikibase/client/includes/WikibaseClient.PHP(748): Wikibase\Client\WikibaseClient::getDefaultEntityTypes()
#2 /var/lib/mediawiki/extensions/Wikibase/client/includes/WikibaseClient.PHP(796): Wikibase\Client\WikibaseClient::newInstance()
#3 /var/lib/mediawiki/extensions/Wikibase/client/includes/Usage/sql/sqlUsageTrackerSchemaUpdater.PHP(64): Wikibase\Client\WikibaseClient::getDefaultInstance()
#4 /var/lib/mediawiki/includes/installer/DatabaseUpdater.PHP(554): Wikibase\Client\Usage\sql\sqlUsageTrackerSchemaUpdater::fillUsageTable(MysqLUpdater)
#5 /var/lib/mediawiki/includes/installer/DatabaseUpdater.PHP(522): DatabaseUpdater->runUpdates(array,boolean)
#6 /var/lib/mediawiki/maintenance/update.PHP(181): DatabaseUpdater->doUpdates(array)
#7 /var/lib/mediawiki/maintenance/doMaintenance.PHP(107): UpdateMediawiki->execute()
#8 /var/lib/mediawiki/maintenance/update.PHP(253): require_once(string)
#9 {main}

我确保克隆了正确版本的 Wikibase (REL1_35)。我到处寻找解决方案,但似乎我以一种独特的方式搞砸了。我还应该提到,这是我第一次设置 Mediawiki 服务器,因此非常感谢您的帮助。

我制作了一个 git 并将所有内容上传到 Mediawiki 安装的根目录中:https://github.com/ggosset2017/MediaWiki-Install.git

更新: 看起来这是一些依赖的问题。我确实确保按照上面链接的 WIkibase 指南安装 Composer 并安装依赖项。我使用了以下命令/文件编辑。

首先,我更新了 Mediawiki 安装根目录中的 composer.local.json 文件以匹配以下内容

{
  "extra": {
    "merge-plugin": {
      "include": [
        "extensions/Wikibase/composer.json"
      ]
    }
  },"require": {
    "monolog/monolog": "~2.0.2"
  }
}

进入容器并运行以下命令。

rm composer.lock

composer install --no-dev

一切似乎都下载正常,我遇到的唯一错误如下:

Warning from https://repo.package.org: you are using an outdated version of Composer. Composer 2 is Now available and you should upgrade. See https://getcomposer.org/2

我预计会出现此错误,因为 Mediawiki 不支持 composer 2,至少根据此:https://www.mediawiki.org/wiki/Composer#Installing_Composer

更新 2: 看起来我的 composer.local.jason 文件以某种方式更改为 composer.local.jason-sample。我已经删除了附加到该文件名的 -sample。现在,当我尝试运行 rm composer.lockcomposer install --no-dev

时,composer 抛出以下错误

image of composer error

In Solver.PHP line 243:
  Problem 1
     - The requested package monolog/monolog ~2.0.2 exists as monolog/monolog[1.25.5] but these are rejected by your constraint.

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...