Acabei de instalar o Magento 2 Community Edition com dados de amostra (baixados do site e não instalados com o compositor) localmente via MAMP. O processo de instalação foi bem-sucedido, mas todos os arquivos na pasta pub / static estão ausentes, exceto .htaccess. Isso significa que todos os css, js etc. retornam 404 para o front-end e o back-end.
Passei várias horas tentando consertar isso sem sorte. Isto é o que eu fiz até agora:
- Alterado
Options Indexes FollowSymLinks AllowOverride
de 'None' para 'All' no /MAMP/conf/apache/httpd.conf e reiniciou o MAMP - Certifique-
LoadModule rewrite_module modules/mod_rewrite.so
se de não fazer comentários no httpd.conf - Configurar um domínio de desenvolvimento (magento.dev) no MAMP
- Tentei rodar
php bin/magento setup:static-content:deploy
na raiz magento.dev usando o Terminal. No entanto, isso retorna:
Erro fatal: Classe 'Local' não encontrada em /Applications/MAMP/htdocs/magento.dev/vendor/magento/framework/Locale/Bundle/DataBundle.php na linha 64
- RewriteBase não comentado e alterado para
RewriteBase /
no arquivo .htaccess no diretório raiz magento.dev. - Defina o Magento no modo de desenvolvimento
- Limpando o cache manualmente e executando
php bin/magento setup:static-content:deploy
novamente
A maioria dos guias e posts no fórum me diz para executar: php bin/magento setup:static-content:deploy
mas não tenho certeza, se estou fazendo isso corretamente.
SO: OSX 10.11.2
Versão MAMP: 3.5
Versão PHP: 7.0
Versão Apache: 2.4.16
Versão do MySQL: 5.6.25
Qualquer ajuda seria apreciada.
php bin/magento setup:static-content:deploy -f
e esperar 80 segundos.Respostas:
SOLUÇÃO # 1 (SE VOCÊ QUER EDITAR ARQUIVO XML)
Gostaria que você baixasse o zip do Magento 2
magentocommerce.com/download
, crie um novo banco de dados no phpmyadmin , extraia o zip na pasta htdocs . Instale o Magento 2, mas não use o host local, use 127.0.0.1 no URL da loja e no URL do administrador. Após a instalação bem-sucedida, NÃO execute o magento.Agora vamos limpar / excluir caches e sessões do Magento 2. Vá para os seguintes caminhos e exclua tudo:
Quando o Magento 2 não está no modo de produção, ele tenta criar links simbólicos para alguns recursos estáticos no servidor local. Temos que mudar esse comportamento do Magento 2, indo para editar o
ROOT > app > etc > di.xml
arquivo. Abradi.xml
no seu editor de código favorito, encontre avirtualType name="developerMaterialization"
seção. Nessa seção abaixo, você encontrará um item<item name="view_preprocessed" xsi:type="object">
que precisa ser modificado. Você pode modificá-lo alterando o seguinte conteúdo:Para:
Agora, na última etapa, exclua também os arquivos antigos gerados no
ROOT > pub > static > DELETE ALL EXCEPT .HTACCESS
Eu pessoalmente tentei no meu host local usando MAMP, EasyPHP DevServer, Xampp e Wampp e instalei e usei com sucesso o Magento 2. Para mais informações, acesse este link: Magento 2 CSS e JavaScript não carregam da pasta correta
SOLUÇÃO # 2
Instale o Composer. Agora eu gostaria que você baixasse o Magento 2 zip
magentocommerce.com/download
, crie um novo banco de dados no phpmyadmin , extraia o zip na pasta htdocs . Instale o Magento 2, mas não use o host local, use 127.0.0.1 no URL da loja e no URL do administrador. Após a instalação bem-sucedida, NÃO execute o magento.Agora vamos verificar a instalação do Composer, implantar conteúdo estático, limpar / liberar o cache do Magento e reindexar os blocos do Magento 2. Para executar todas as ações acima, pressione WINDOWS KEY + R para abrir a caixa de diálogo EXECUTAR e digite “cmd” para abrir o prompt de comando.
Digite “ cd PATH_TO_YOUR_MAGENTO2_FILES ” para entrar no diretório ROOT do Magento 2.
Agora, para verificar a instalação do Composer no diretório acima, digite " instalação do compositor ".
Nesta etapa, estamos configurando conteúdo estático para implantar em nossa loja Magento. Para fazer isso, digite “ php bin / magento setup: static-content: deploy ”.
Limpe / Limpe o cache do Magento digitando “ php bin / magento cache: flush ” no CMD.
E, finalmente, para Reindex Magento Static Blocks, digite “ php bin / magento indexer: reindex ”.
Você terminou a instalação bem-sucedida do Magento 2.
fonte
Tente executar o comando abaixo
E se ocorrer algum erro ao executar este comando, como o arquivo ausente, como você já disse, compare a estrutura do arquivo do projeto com a nova
magento2
. Se algum arquivo estiver faltando no seu projeto, copie o arquivo apropriado no seu projeto.E se você tiver algum outro erro, poste um erro na sua pergunta para que alguém possa responder sua pergunta.
fonte
Fatal error: Class 'Locale' not found in /Applications/MAMP/htdocs/magento.dev/vendor/magento/framework/Locale/Bundle/DataBundle.php on line 64
depois de executarphp bin/magento setup:static-content:deploy
no diretório raiz.Parece que a
intl
extensão não está carregada na sua versão de console do php. Verifique se você usa a mesma versão / configurações para a versão apache e cli do php.O MacOsX pré-instalou a versão do php e alguns pacotes que instalam o php não alteram o link simbólico para a sessão do terminal. Como resultado, você pode ter uma versão diferente do php instalada ao mesmo tempo.
PS: Proponho usar o vagrant no Mac OS. está funcionando muito bem se usar nfs para compartilhamento de arquivos
fonte
php -v
(que mostra qual versão o PHP executa como) e usando um phpinfo.php , que mostra qual versão do PHP o servidor da web executa.Se tudo mais falhar, remova estes diretórios:
Isso funcionará se você tiver links simbólicos quebrados nesses diretórios.
fonte
em seguida, dê a permissão adequada para pastas e arquivos.
em seguida, execute a
php bin/magento setup:static-content:deploy
partir da sua pasta raiz.verifique pub / estático.
Eu espero que isso te ajude.
fonte
clear page_cache, di ,view_process, cache
? É uma instalação local, portanto, como administrador do meu computador, tenho todas as permissões de leitura / gravação. Existem outras permissões que não conheço?Você instalou
composer
e executoucomposer init
no diretório magento2? Caso contrário, tente executar o comandophp bin/magento setup:static-content:deploy
fonte
composer init
composer, solicite que eu configure o composer.json config, então acho que isso não ajudará.