首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Wikibase安装之后尝试运行update.php时出错

在Wikibase安装之后尝试运行update.php时出错
EN

Stack Overflow用户
提问于 2022-05-06 18:35:20
回答 1查看 133关注 0票数 0

我试图使用远程Ubuntu服务器上的文档安装Wikibase。

到目前为止,我已经成功地安装了我能想到的所有东西。

  • MediaWiki 1.37.2已启动并运行,没有我所知道的错误
  • 安装了维基库(REL1_37)的并发版本。
  • 安装了Composer,run-script test提到的这里成功,没有任何错误。

当我运行php maintenance/update.php时会发生错误,这会导致以下错误和回溯:

代码语言:javascript
复制
[e1bc513c383ad1e230e29e50] [no req]   Error: Class 'Onoi\MessageReporter\ObservableMessageReporter' not found
Backtrace:
from /var/lib/mediawiki/extensions/Wikibase/repo/includes/Store/Sql/DatabaseSchemaUpdater.php(181)
#0 /var/lib/mediawiki/includes/installer/DatabaseUpdater.php(533): Wikibase\Repo\Store\Sql\DatabaseSchemaUpdater::rebuildPropertyTerms()
#1 /var/lib/mediawiki/includes/installer/DatabaseUpdater.php(501): DatabaseUpdater->runUpdates()
#2 /var/lib/mediawiki/maintenance/update.php(193): DatabaseUpdater->doUpdates()
#3 /var/lib/mediawiki/maintenance/doMaintenance.php(108): UpdateMediaWiki->execute()
#4 /var/lib/mediawiki/maintenance/update.php(264): require_once(string)
#5 {main}

我试图了解更多关于Onoi\MessageReporter\ObservableMessageReporter的信息,但没有取得多大的成功。我不知道这个过程的哪一步会被安装,也不知道其他什么。

任何帮助都是非常非常感谢的。

更新1:我按建议将onoi/message-reporter手动添加到composer.json中,然后运行composer update。这导致了一个新的错误和跟踪:

代码语言:javascript
复制
[ee8783cf9727c2a3d0886de9] [no req]   Error: Class 'Diff\Differ\MapDiffer' not found
Backtrace:
from /var/lib/mediawiki/extensions/Wikibase/lib/packages/wikibase/data-model-services/src/Diff/ItemDiffer.php(31)
#0 /var/lib/mediawiki/extensions/Wikibase/lib/packages/wikibase/data-model-services/src/Diff/EntityDiffer.php(23): Wikibase\DataModel\Services\Diff\ItemDiffer->__construct()
#1 /var/lib/mediawiki/extensions/Wikibase/repo/WikibaseRepo.ServiceWiring.php(730): Wikibase\DataModel\Services\Diff\EntityDiffer->__construct()
#2 /var/lib/mediawiki/vendor/wikimedia/services/src/ServiceContainer.php(447): Wikimedia\Services\ServiceContainer->{closure}()
#3 /var/lib/mediawiki/vendor/wikimedia/services/src/ServiceContainer.php(416): Wikimedia\Services\ServiceContainer->createService()
#4 /var/lib/mediawiki/includes/MediaWikiServices.php(279): Wikimedia\Services\ServiceContainer->getService()
#5 /var/lib/mediawiki/vendor/wikimedia/services/src/ServiceContainer.php(424): MediaWiki\MediaWikiServices->getService()
#6 /var/lib/mediawiki/extensions/Wikibase/repo/includes/WikibaseRepo.php(242): Wikimedia\Services\ServiceContainer->get()
#7 /var/lib/mediawiki/extensions/Wikibase/repo/WikibaseRepo.ServiceWiring.php(640): Wikibase\Repo\WikibaseRepo::getEntityDiffer()
#8 /var/lib/mediawiki/vendor/wikimedia/services/src/ServiceContainer.php(447): Wikimedia\Services\ServiceContainer->{closure}()
#9 /var/lib/mediawiki/vendor/wikimedia/services/src/ServiceContainer.php(416): Wikimedia\Services\ServiceContainer->createService()
#10 /var/lib/mediawiki/includes/MediaWikiServices.php(279): Wikimedia\Services\ServiceContainer->getService()
#11 /var/lib/mediawiki/vendor/wikimedia/services/src/ServiceContainer.php(424): MediaWiki\MediaWikiServices->getService()
#12 /var/lib/mediawiki/extensions/Wikibase/repo/includes/WikibaseRepo.php(237): Wikimedia\Services\ServiceContainer->get()
#13 /var/lib/mediawiki/extensions/Wikibase/repo/WikibaseRepo.ServiceWiring.php(1744): Wikibase\Repo\WikibaseRepo::getEntityChangeFactory()
#14 /var/lib/mediawiki/vendor/wikimedia/services/src/ServiceContainer.php(447): Wikimedia\Services\ServiceContainer->{closure}()
#15 /var/lib/mediawiki/vendor/wikimedia/services/src/ServiceContainer.php(416): Wikimedia\Services\ServiceContainer->createService()
#16 /var/lib/mediawiki/includes/MediaWikiServices.php(279): Wikimedia\Services\ServiceContainer->getService()
#17 /var/lib/mediawiki/vendor/wikimedia/services/src/ServiceContainer.php(424): MediaWiki\MediaWikiServices->getService()
#18 /var/lib/mediawiki/extensions/Wikibase/repo/includes/WikibaseRepo.php(437): Wikimedia\Services\ServiceContainer->get()
#19 /var/lib/mediawiki/extensions/Wikibase/repo/includes/Store/Sql/DatabaseSchemaUpdater.php(198): Wikibase\Repo\WikibaseRepo::getStore()
#20 /var/lib/mediawiki/includes/installer/DatabaseUpdater.php(533): Wikibase\Repo\Store\Sql\DatabaseSchemaUpdater::rebuildPropertyTerms()
#21 /var/lib/mediawiki/includes/installer/DatabaseUpdater.php(501): DatabaseUpdater->runUpdates()
#22 /var/lib/mediawiki/maintenance/update.php(193): DatabaseUpdater->doUpdates()
#23 /var/lib/mediawiki/maintenance/doMaintenance.php(108): UpdateMediaWiki->execute()
#24 /var/lib/mediawiki/maintenance/update.php(264): require_once(string)
#25 {main}

更新2:我在迪夫/迪夫数据-值/序列化中重复了上面的内容,后者导致了另一个不同的错误:

代码语言:javascript
复制
InvalidArgumentException from line 54 of /var/lib/mediawiki/vendor/data-values/serialization/src/Deserializers/DataValueDeserializer.php: $builders must map data types to callables or class names. 'DataValues\Geo\Values\GlobeCoordinateValue' is not a DataValue class.
#0 /var/lib/mediawiki/vendor/data-values/serialization/src/Deserializers/DataValueDeserializer.php(41): DataValues\Deserializers\DataValueDeserializer->assertAreDataValueClasses()
#1 /var/lib/mediawiki/extensions/Wikibase/repo/WikibaseRepo.ServiceWiring.php(497): DataValues\Deserializers\DataValueDeserializer->__construct()
#2 /var/lib/mediawiki/vendor/wikimedia/services/src/ServiceContainer.php(447): Wikimedia\Services\ServiceContainer->{closure}()
#3 /var/lib/mediawiki/vendor/wikimedia/services/src/ServiceContainer.php(416): Wikimedia\Services\ServiceContainer->createService()
#4 /var/lib/mediawiki/includes/MediaWikiServices.php(279): Wikimedia\Services\ServiceContainer->getService()
#5 /var/lib/mediawiki/vendor/wikimedia/services/src/ServiceContainer.php(424): MediaWiki\MediaWikiServices->getService()
#6 /var/lib/mediawiki/extensions/Wikibase/repo/includes/WikibaseRepo.php(695): Wikimedia\Services\ServiceContainer->get()
#7 /var/lib/mediawiki/extensions/Wikibase/repo/WikibaseRepo.ServiceWiring.php(1639): Wikibase\Repo\WikibaseRepo::getDataValueDeserializer()
#8 /var/lib/mediawiki/vendor/wikimedia/services/src/ServiceContainer.php(447): Wikimedia\Services\ServiceContainer->{closure}()
#9 /var/lib/mediawiki/vendor/wikimedia/services/src/ServiceContainer.php(416): Wikimedia\Services\ServiceContainer->createService()
#10 /var/lib/mediawiki/includes/MediaWikiServices.php(279): Wikimedia\Services\ServiceContainer->getService()
#11 /var/lib/mediawiki/vendor/wikimedia/services/src/ServiceContainer.php(424): MediaWiki\MediaWikiServices->getService()
#12 /var/lib/mediawiki/extensions/Wikibase/repo/includes/WikibaseRepo.php(943): Wikimedia\Services\ServiceContainer->get()
#13 /var/lib/mediawiki/extensions/Wikibase/repo/WikibaseRepo.ServiceWiring.php(2059): Wikibase\Repo\WikibaseRepo::getSingleEntitySourceServicesFactory()
#14 /var/lib/mediawiki/vendor/wikimedia/services/src/ServiceContainer.php(447): Wikimedia\Services\ServiceContainer->{closure}()
#15 /var/lib/mediawiki/vendor/wikimedia/services/src/ServiceContainer.php(416): Wikimedia\Services\ServiceContainer->createService()
#16 /var/lib/mediawiki/includes/MediaWikiServices.php(279): Wikimedia\Services\ServiceContainer->getService()
#17 /var/lib/mediawiki/vendor/wikimedia/services/src/ServiceContainer.php(424): MediaWiki\MediaWikiServices->getService()
#18 /var/lib/mediawiki/extensions/Wikibase/repo/includes/WikibaseRepo.php(948): Wikimedia\Services\ServiceContainer->get()
#19 /var/lib/mediawiki/extensions/Wikibase/repo/WikibaseRepo.ServiceWiring.php(1751): Wikibase\Repo\WikibaseRepo::getWikibaseServices()
#20 /var/lib/mediawiki/vendor/wikimedia/services/src/ServiceContainer.php(447): Wikimedia\Services\ServiceContainer->{closure}()
#21 /var/lib/mediawiki/vendor/wikimedia/services/src/ServiceContainer.php(416): Wikimedia\Services\ServiceContainer->createService()
#22 /var/lib/mediawiki/includes/MediaWikiServices.php(279): Wikimedia\Services\ServiceContainer->getService()
#23 /var/lib/mediawiki/vendor/wikimedia/services/src/ServiceContainer.php(424): MediaWiki\MediaWikiServices->getService()
#24 /var/lib/mediawiki/extensions/Wikibase/repo/includes/WikibaseRepo.php(437): Wikimedia\Services\ServiceContainer->get()
#25 /var/lib/mediawiki/extensions/Wikibase/repo/includes/Store/Sql/DatabaseSchemaUpdater.php(198): Wikibase\Repo\WikibaseRepo::getStore()
#26 /var/lib/mediawiki/includes/installer/DatabaseUpdater.php(533): Wikibase\Repo\Store\Sql\DatabaseSchemaUpdater::rebuildPropertyTerms()
#27 /var/lib/mediawiki/includes/installer/DatabaseUpdater.php(501): DatabaseUpdater->runUpdates()
#28 /var/lib/mediawiki/maintenance/update.php(193): DatabaseUpdater->doUpdates()
#29 /var/lib/mediawiki/maintenance/doMaintenance.php(108): UpdateMediaWiki->execute()
#30 /var/lib/mediawiki/maintenance/update.php(264): require_once('/var/lib/mediaw...')
#31 {main}

更新3:这个问题可能有点类似于发布的这里,但还不清楚解决方案是什么。

更新4:我知道我在下面发布了我在手动安装设备时所做的事情,但是.它一度似乎与WikibaseQualityConstraints包有关,与data-values/serialization有关。基本上,当试图访问Special:SpecialPages时,会弹出一个错误,即:

代码语言:javascript
复制
[c706436afebcd43e1668b175] /mediawiki/index.php/Special:SpecialPages TypeError: Argument 2 passed to WikibaseQuality\ConstraintReport\ConstraintCheck\Helper\ConstraintParameterParser::__construct() must be an instance of Wikibase\DataModel\Deserializers\DeserializerFactory, instance of Wikibase\DataModel\DeserializerFactory given, called in /var/lib/mediawiki/extensions/WikibaseQualityConstraints/src/ServiceWiring.php on line 125

因此,我想删除所有的composer.lock文件,删除data-values/serialization,需要wikibase/data-model-serialization,用composer重新安装,然后再次运行php maintenance/update.php都可以工作,但仍然是相同的错误。我不是百分之百肯定是手工安装引起了这个问题,但似乎.

EN

回答 1

Stack Overflow用户

发布于 2022-05-06 20:06:34

这本身并不是一个真正的答案,但我找到了一个解决方案,如果其他人想知道我做了什么,我会把它包括在内。

除了上面的软件包之外,我还使用composer require XXX安装了以下程序

  • 数据-值/地理
  • 数据-值/共同
  • 数据-数值/数字
  • 数据-值/时间

在此之后,php maintenance/update.php和所有其他脚本运行时都没有出错。但是,在试图访问Special:SpecialPages时,我遇到了一个致命的错误。

我不确定这个错误是否相关,但我通过使用composer安装psr/simple-cache并重新运行php maintenance/update.php来解决它。

虽然这是一个技术上的解决方案,但我觉得这是一个更大的错误的解决方案,所以我将暂时保留这个问题。

更新1:这可能不是个好主意;请参阅问题中的更新4。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72145996

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档