Немає команд, визначених у просторі імен "setup": Magento 2


12

Я встановив latest version of Megento 2, все працює чудово, інтерфейс, бекенд і функціонал.

У мене є одна проблема з bin/magento setup:upgradeкомандою, коли я запускаю цю команду в терміналі, я потрапляю нижче виключення.

[InvalidArgumentException]
Немає команд, визначених у просторі імен "setup".

Знімок екрана:

введіть тут опис зображення

Чи є якась річ, яку я пропустив під час встановлення або мені потрібно встановити якийсь пакет, щоб він працював?


1
Я думаю, що у вашому користувальницькому конфігураційному модулі щось не так.
HoangHieu

У будь-якому випадку, це дуже сумно, що щось не так з одним модулем може збити ядро.
мікволац

Будь ласка, зверніться до наведеної нижче відповіді: http://stackoverflow.com/questions/33935850/there-are-no-commands-defined-in-the-setup-namespace-magento-2/34013490#34013490
VIPIN A ROY

Я зіткнувся з тією ж проблемою, після копання файлу module.xml з'явилася незначна помилка на тезі послідовностей, як тільки я виправив проблему, все працює нормально.
вересень

Відповіді:


10

У моєму випадку це спрацювало за допомогою судо

sudo bin/magento setup:upgrade

РЕДАКЦІЯ 19.02.16

Насправді рішення "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

Тепер ви маєте змогу запустити php bin / magento setup: upgrade або будь-яку іншу команду зі своїм користувачем magento


Це має бути відповіддю.
RT

2
я використовую windows. що мені потрібно зробити для вирішення цього питання?
MaYaNk

Ви також побачите цю помилку, коли у вашому користувальницькому модулі щось не так, наприклад, якщо файл 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
Дякуємо за вашу відповідь, чи отримали ви рішення для вирішення цієї проблеми?
Діпак Манкотія,

Звичайно, просто прочитайте посилання.
Mage2.PRO

1
@ Mage2.PRO, будь ласка, опублікуйте остаточне рішення тут
7ochem

Не існує "остаточного рішення", оскільки воно індивідуальне. There are no commands definedпросто загальне повідомлення, воно приховує справжню проблему, а реальна проблема може бути іншою.
Mage2.PRO

1
@ Mage2.PRO There are no commands defined in the "setup" namespace. за цю помилку, що мені робити. я використовую Windows localhost
містер. макс

3

Це відбувається, якщо ваш будь-який 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

Це відбувається, якщо ваш будь-який 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 в localhost, вам слід встановити дозволи 777 для папки var і pub. Цю проблему можна вирішити


Дякуємо за вашу відповідь, ці папки вже мають дозвіл 777
Deepak Mankotia

І це не прокидання?
Тао Фам

так, не працює
Діпак Манкотія

Хтось отримав рішення на це? Коли я запускаю цю команду, тоді я отримав ще одну проблему / помилку, тобто розширення pdo_mysql не встановлено, що робити не можу з'ясувати.
KA9

0

У мене була така ж проблема, і я дотримувався декількох дурних пропозицій, щоб виправити проблему, як-от видалити мій composer.json щось подібне. Але вони не вирішили моєї проблеми. Сьогодні я знову зіткнувся з проблемою і спробував новий підхід, щоб простежити проблему. Усі деталі та скріншот знаходяться в моєму особистому блозі http://david.firstbiz.cc/blog_detail.php?id=115 Я описав свої кроки тут:

1. Для CLI додайте "-vvv", і він відобразить шляхи відстеження функцій
2. спробуйте завантажити будь-яку сторінку продукту і перевірте журнал помилок веб-сервера, і ви зможете побачити більше деталей.
3. ім'я класу та ім'я файлу мають бути однаковими (* це справа, з якою я стикався)

0

Якщо ви отримаєте цю помилку відразу після того, як ви намагалися створити модуль, переконайтеся, що ви додали ці файли у свій модуль. /etc/module.xml


0

Це може бути проблема дозволу. Ви можете встановити

chmod -R 777 magento folder permissions.

Просто для тестування і подивіться, чи спрацює це. сподіваюся, що це допоможе тобі.


0

У мене була така сама помилка, і з інших відповідей, які я читаю тут, це очевидно викликано різноманітними проблемами. Але моя була викликана тим, що мій файл введення залежності у компанії / module / etc / di.xml був порожнім! (Я вміст видалив вміст помилково)

Magento намагався завантажити файл, але він був порожнім, тому він був недійсним і спричинив кілька помилок, включаючи одну в цьому питанні

Просто подумав, що я відправлю цей випадок, це врятує ще 4 години їхнього життя !!


0

Я зіткнувся з подібним питанням, і в моєму випадку це було через відсутність config.phpв app/etc.


0

Перевірте дозвіл вашого magentoDirectory.

$ sudo rm -rf var / cache / * згенеровано / код / ​​*

$ sudo chmod 777 -R magentoDirectory

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

Налаштування $ php bin / magento: di: compile

$ php bin / magento cache: очистити

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.