W przestrzeni nazw „setup” nie zdefiniowano żadnych poleceń: Magento 2

12

Zainstalowałem latest version of Megento 2, wszystko działa dobrze frontend, backend i funkcjonalność.

Mam jeden problem z bin/magento setup:upgradepoleceniem, kiedy uruchamiam to polecenie w terminalu, otrzymuję poniżej wyjątku.

[InvalidArgumentException]
W przestrzeni nazw „setup” nie zdefiniowano żadnych poleceń.

Zrzut ekranu:

wprowadź opis zdjęcia tutaj

Czy brakuje mi czegoś podczas instalacji lub muszę zainstalować jakiś pakiet, aby działał?

Deepak Mankotia
źródło
1
Myślę, że coś jest nie tak w niestandardowej konfiguracji modułu.
HoangHieu 14.04.16
Tak czy inaczej, to bardzo smutne, że coś nie tak z jednym modułem może sprowadzić rdzeń.
micwallace
Mam do czynienia z tym samym problemem, po skopiowaniu pliku module.xml pojawia się drobny błąd w tagu sekwencji, gdy naprawiłem problem, wszystko działa dobrze.
sentil

Odpowiedzi:

10

W moim przypadku działało przy użyciu sudo

sudo bin/magento setup:upgrade

EDYCJA 19/02/16

W rzeczywistości rozwiązanie „sudo” jest bardziej obejściem złych uprawnień / własności plików Magento.

Jeśli nie masz jeszcze właściciela systemu plików Magento, utwórz go i dodaj do grupy 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

Teraz, gdy masz już użytkownika, możesz ustawić własność i uprawnienia (z rootem lub z 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 .

Przejdź do użytkownika magento

su magento

Teraz powinieneś być w stanie uruchomić konfigurację php bin / magento: upgrade lub dowolne inne polecenie z użytkownikiem magento

csmarvz
źródło
To powinna być odpowiedź.
RT
2
używam systemu Windows. co muszę zrobić, aby to rozwiązać?
MaYaNk
Ten błąd zobaczysz także, gdy coś jest nie tak z twoim modułem niestandardowym, na przykład jeśli plik module.xml nie jest umieszczony w katalogu etc i tak dalej.
Kod cyklonowy
8

There are no commands definedto ogólny komunikat, który kryje prawdziwy problem.
Otworzyłem problem stwierdzający, że Magento 2 powinien wyjaśniać takie wiadomości, więc proszę głosować za nim.
W moich przypadkach problem dotyczył composer.jsonpliku i pliku rozszerzenia module.xml.
Zobacz też:

  • Wszystkie There are no commands defined problemy w module śledzącym.
  • Wszystkie There are no commands defined pytania dotyczące magento.stackexchange.com.
Mage2.PRO
źródło
1
Dziękujemy za odpowiedź. Czy udało Ci się rozwiązać problem?
Deepak Mankotia
Oczywiście, po prostu przeczytaj linki.
Mage2.PRO,
1
@ Mage2.PRO proszę zamieścić ostateczne rozwiązanie tutaj
7ochem
Nie ma „ostatecznego rozwiązania”, ponieważ jest ono indywidualne. There are no commands definedtylko ogólny komunikat, kryje prawdziwy problem, a prawdziwy problem może być inny.
Mage2.PRO
1
@ Mage2.PRO There are no commands defined in the "setup" namespace. dla tego błędu, co muszę zrobić. używam Windows localhost
mr. maks.
3

Dzieje się tak, jeśli dowolny plik XML zdefiniowany w etc nie jest poprawnie zdefiniowany. Podczas definiowania węzła może występować problem z sekwencją lub błąd

Otwórz cmd, przejdź do katalogu głównego magento i wpisz poniżej polecenie.

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

Otrzymasz informację o błędzie względnym.

[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
Abhishek
źródło
2

Dzieje się tak, jeśli dowolny plik XML zdefiniowany w etc nie jest poprawnie zdefiniowany. Podczas definiowania węzła może występować problem z sekwencją lub błąd

Otwórz cmd, przejdź do katalogu głównego magento i wpisz poniżej polecenie.

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

Otrzymasz informację o błędzie względnym.

[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
Abhishek
źródło
1

Jeśli zainstalujesz magento w localhost, powinieneś ustawić uprawnienia 777 na folder var i pub. Ten problem można rozwiązać

Thao Pham
źródło
Dzięki za odpowiedź, te foldery mają już uprawnienia 777
Deepak Mankotia
I to się nie budzi?
Thao Pham,
tak nie działa
Deepak Mankotia
Czy ktoś ma na to rozwiązanie? Gdy uruchamiam to polecenie, dostaję kolejny problem / błąd, tzn. Rozszerzenie pdo_mysql nie jest zainstalowane, co należy zrobić, nie mogę zrozumieć.
KA9,
0

Miałem ten sam problem i podążyłem za kilkoma sugerowanymi głupimi sugestiami, aby rozwiązać problem, np. Usunąć coś mojego composer.json. Ale to nie rozwiązało mojego problemu. Dzisiaj ponownie stanąłem przed problemem i wypróbowałem nowe podejście do śledzenia problemu. Wszystkie szczegóły i zrzut ekranu znajdują się w moim osobistym poście na blogu http://david.firstbiz.cc/blog_detail.php?id=115 Tutaj opisałem swoje kroki:

1. w przypadku interfejsu CLI dołącz „-vvv”, aby wyświetlić ścieżki śledzenia funkcji
2. spróbuj załadować dowolną stronę produktu i sprawdź dziennik błędów serwera WWW, aby zobaczyć więcej szczegółów.
3. nazwa klasy i nazwa pliku powinny być takie same (* tak się stało)
David Lin
źródło
0

Jeśli pojawi się ten błąd zaraz po próbie utworzenia modułu, upewnij się, że dodałeś te pliki do swojego modułu. /etc/module.xml

Shazad Maved
źródło
0

Może to być problem z pozwoleniem. Możesz ustawić

chmod -R 777 magento folder permissions.

Tylko na test i sprawdź, czy to zadziała. mam nadzieję, że ci to pomoże.

Ledian Hymetllari
źródło
0

Miałem ten sam błąd i z innych odpowiedzi, które tu czytam, jest to wyraźnie spowodowane różnorodnymi problemami. Ale mój został spowodowany, ponieważ mój plik wstrzykiwania zależności w firmie / module / etc / di.xml był pusty! (Pomyłkowo usunąłem zawartość)

Magento próbował załadować plik, ale był pusty, więc był nieprawidłowy i powodował wiele błędów, w tym jeden w tym pytaniu

Pomyślałem, że opublikuję ten wpis, dzięki czemu zaoszczędzisz jeszcze 4 godziny życia !!

Barry Connolly
źródło
0

Mam w obliczu podobnego problemu w moim przypadku problem był z powodu braku config.phpw app/etc.

Anshu Mishra
źródło
0

Sprawdź uprawnienia swojego magentoDirectory.

$ sudo rm -rf var / cache / * wygenerowano / code / *

$ sudo chmod 777 -R magentoDirectory

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

$ php bin / magento setup: di: compile

$ php bin / magento cache: clean

Arshad Syed
źródło