在“设置”名称空间中未定义任何命令:Magento 2


12

我已经安装了latest version of Megento 2,一切都很好的前端,后端和功能。

我对bin/magento setup:upgrade命令有一个问题 ,当我在终端中运行此命令时,出现以下异常。

[InvalidArgumentException]
在“设置”名称空间中没有定义任何命令。

屏幕截图:

在此处输入图片说明

我在安装过程中有什么想念的东西吗?还是需要安装一些软件包才能使其正常工作?


1
我认为您的自定义模块配置中有问题
。.– HoangHieu

无论哪种方式,一个模块出了问题都会导致内核崩溃,这是很可悲的。
micwallace '16


我遇到了同样的问题,在挖掘了module.xml文件之后,序列标签上有一个小错误,一旦我解决了这个问题,一切都会正常进行。
sendhil

Answers:


10

就我而言,它使用sudo可以工作

sudo bin/magento setup:upgrade

编辑16/02/19

实际上,“ sudo”解决方案更多是针对Magento文件的错误权限/所有权的解决方法。

如果您还没有Magento文件系统所有者,请创建一个并将其添加到apache组。

adduser magento
passwd magento
//CentOS
usermod -g apache magento
//Ubuntu
usermod -g www-data magento
//restart apache
//CentOS
service httpd restart
//Ubuntu
service apache2 restart

现在有了您的用户,您可以设置所有权和权限(使用root或使用sudo的用户)

cd /var/www/html/magento2beta/magento2
find . -type d -exec chmod 770 {} \; && find . -type f -exec chmod 660 {} \; && chmod u+x bin/magento
//CentOS
chown -R magento:apache .
//Ubuntu
chown -R magento:www-data .

切换到magento用户

su magento

现在您应该可以使用magento用户运行php bin / magento setup:upgrade或任何其他命令


这应该是答案。
RT

2
我正在使用Windows。解决这个问题我要做什么?
MaYaNk '16

您还将看到此错误时,什么是错的与您的自定义模块,例如如果module.xml文件没有被放置在etc目录等。
Cyclonecode

8

There are no commands defined是隐藏真实问题的通用消息。
我已经打开了一个问题,指出Magento 2 应该澄清此类消息,所以请投赞成票。
在我的情况下,问题出在composer.json文件和扩展名的module.xml文件上。
也可以看看:

  • 跟踪器中的所有There are no commands defined 问题
  • 所有There are no commands defined 的问题magento.stackexchange.com

1
感谢您的答复,您有解决此问题的任何解决方案吗?
Deepak Mankotia 2015年

当然,只需阅读链接。
Mage2.PRO 2015年

1
@ Mage2.PRO请在此处发布最终解决方案
7ochem

没有“最终解决方案”,因为它是个人的。There are no commands defined只是一条通用消息,它隐藏了一个实际问题,实际问题可能有所不同。
Mage2.PRO 2015年

1
@ Mage2.PRO There are no commands defined in the "setup" namespace。对于此错误,我必须要做的。我正在使用Windows localhost
先生。最多

3

如果您在etc中定义的任何xml文件未正确定义,就会发生这种情况。节点定义中可能存在序列问题或错误

打开cmd转到您的magento根目录,然后键入以下命令。

D:\Server\htdocs\mage2>
D:\Server\htdocs\mage2>php bin/magento list

您将获得相对错误信息。

[Magento\Framework\Exception\LocalizedException]
  Invalid XML in file D:/Server/htdocs/mage2/app/code/Vendor/Module/et
  c/frontend/di.xml:
  Attribute sortOrder redefined
  Line: 4

2

如果您在etc中定义的任何xml文件未正确定义,就会发生这种情况。节点定义中可能存在序列问题或错误

打开cmd转到您的magento根目录,然后键入以下命令。

D:\Server\htdocs\mage2>
D:\Server\htdocs\mage2>php bin/magento list

您将获得相对错误信息。

[Magento\Framework\Exception\LocalizedException]
  Invalid XML in file D:/Server/htdocs/mage2/app/code/Vendor/Module/et
  c/frontend/di.xml:
  Attribute sortOrder redefined
  Line: 4

1

如果在本地主机中安装magento,则应为var和pub文件夹设置权限777。这个问题可以解决


感谢您的答复,这些文件夹已经具有777权限
Deepak Mankotia

而且它不醒吗?
邵潘

是的,不起作用
Deepak Mankotia 2015年

有人对此有解决方案吗?当我运行此命令时,我又遇到了另一个问题/错误,即未安装pdo_mysql扩展名怎么办不知道。
KA9

0

我遇到了同样的问题,我遵循了一些愚蠢的建议来解决该问题,例如删除composer.json之类的东西。但是那些并不能解决我的问题。今天,我再次遇到了问题,并且尝试了一种新方法来跟踪问题。所有详细信息和屏幕截图都在我的个人博客文章 http://david.firstbiz.cc/blog_detail.php?id=115 中,我在这里描述了我的步骤:

1.对于CLI,请附加“ -vvv”,它将显示功能跟踪路径
2.尝试加载任何产品页面并检查您的Web服务器错误日志,您将能够看到更多详细信息。
3.类名和文件名应该相同(*这是我遇到的情况)

0

如果在尝试创建模块后立即收到此错误,请确保已在模块中添加了此文件。/etc/module.xml


0

这可能是权限问题。你可以设定

chmod -R 777 magento folder permissions.

只是为了测试,看看它是否会工作。希望对您有帮助。


0

我也遇到了同样的错误,在这里我正在阅读的其他答案中的错误显然是由各种问题引起的。但是我的原因是因为我在company / module / etc / di.xml的依赖项注入文件为空!(我误删除了内容)

Magento试图加载文件,但它为空,因此无效,并导致多个错误,包括此问题中的一个

只是以为我会发布此邮件,以防万一,他们节省了4个小时的生命!



0

请检查您的magentoDirectory的许可。

$ sudo rm -rf var / cache / *生成的/代码/ *

$ sudo chmod 777 -R magento目录

$ sudo chown -R www-data:www-data magentoDirectory

$ php bin / magento setup:di:编译

$ php bin / magento缓存:干净

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.