Estou tendo um erro ao executar o webpack após instalar o Akeneo 3.1.6 CE manualmente. Informações da versão abaixo:
operating system: MacOSX
php: 7.2.13
node: v10.16.0
yarn: 1.16.0
mysql: 5.7
O erro:
$ yarn run webpack
yarn run v1.16.0
$ yarn requirements && NODE_PATH=node_modules webpack --config $npm_package_config_source/webpack.config.js
$ node $npm_package_config_source/frontend/build/check-requirements.js
Checking PIM frontend requirements
Starting webpack from /Users/liamtoohey/src/project-akeneo in dev mode
Executing pre-build scripts
(node:19219) DeprecationWarning: Tapable.plugin is deprecated. Use new API on `.hooks` instead
$ node $npm_package_config_source/frontend/build/update-extensions.js
$ node $npm_package_config_styles
Updating form extensions.json
/Users/liamtoohey/src/project-akeneo/vendor/akeneo/pim-community-dev/frontend/build/update-extensions.js:76
const mergedExtensions = Object.entries(merged.extensions).map(([code, extension]) => {
^
TypeError: Cannot convert undefined or null to object
at Function.entries (<anonymous>)
at mergeExtensions (/Users/liamtoohey/src/project-akeneo/vendor/akeneo/pim-community-dev/frontend/build/update-extensions.js:76:37)
at Object.<anonymous> (/Users/liamtoohey/src/project-akeneo/vendor/akeneo/pim-community-dev/frontend/build/update-extensions.js:110:26)
at Module._compile (internal/modules/cjs/loader.js:776:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:829:12)
at startup (internal/bootstrap/node.js:283:19)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
/Users/liamtoohey/src/project-akeneo/node_modules/webpack-shell-plugin/lib/index.js:168
throw error;
^
1
Parece que as extensões do formulário estão faltando? Estou lutando para depurar isso porque tenho uma instância vanilla sem nenhum código personalizado. Em relação às etapas de construção do FE que executei, tenho seguido o guia aqui https://docs.akeneo.com/3.1/install_pim/docker/installation_docker.html
O comando de instalação foi concluído sem problemas, o DB também parece bom. Não fui capaz de replicar este erro ao configurar via docker, o que parece estranho.
Oi! Você pode dizer em qual etapa você tem esse erro? (ou em qual comando?)
Qual sistema você está usando? (docker ou outro?)
Olá @Doodoune ! Estou configurando este projeto localmente usando MacOSX. Minha configuração local é semelhante ao MAMP, porém estou usando o brew para gerenciar PHP / yarn / node etc. Estou recebendo este erro ao executar yarn run webpack
conforme especificado aqui https://docs.akeneo.com/3.1/install_pim /manual/installation_ce_archive.html#initializing -akeneo
Olhando para as mudanças feitas neste PR https://github.com/akeneo/pim-community-dev/pull/9607 , parece que o nó não está despejando nenhum dado para /js/extensions.json
- presumivelmente relacionado ao erro. No entanto, comandos como yarn install
estão funcionando bem - estou faltando uma etapa?
@Doodoune Recebeu uma atualização interessante. Parece haver um bug nos seguintes comandos regex:
Meu projeto akeneo atualmente vive em um diretório src
. O erro que estou tendo parece ser devido a caminhos de arquivo incorretos lidos de web/js/require-paths.js
. Um exemplo do meu conteúdo de web/js/require-paths.js
:
module.exports = ["/Users/liamtoohey/src/project-akeneo/vendor/doctrine/doctrine-bundle",
"/Users/liamtoohey/src/project-akeneo/vendor/doctrine/doctrine-cache-bundle",
"/Users/liamtoohey/src/project-akeneo/vendor/sensio/framework-extra-bundle",
"/Users/liamtoohey/src/project-akeneo/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle",
"/Users/liamtoohey/src/project-akeneo/vendor/symfony/monolog-bundle",
"/Users/liamtoohey/src/project-akeneo/vendor/symfony/symfony/src/Symfony/Bundle/SecurityBundle",
"/Users/liamtoohey/src/project-akeneo/vendor/symfony/swiftmailer-bundle",
"/Users/liamtoohey/src/project-akeneo/vendor/symfony/symfony/src/Symfony/Bundle/TwigBundle",
"/Users/liamtoohey/src/project-akeneo/vendor/doctrine/doctrine-fixtures-bundle",
"/Users/liamtoohey/src/project-akeneo/vendor/friendsofsymfony/jsrouting-bundle",
"/Users/liamtoohey/src/project-akeneo/vendor/friendsofsymfony/rest-bundle",
"/Users/liamtoohey/src/project-akeneo/vendor/liip/imagine-bundle",
"/Users/liamtoohey/src/project-akeneo/vendor/akeneo/pim-community-dev/src/Oro/Bundle/ConfigBundle",
"/Users/liamtoohey/src/project-akeneo/vendor/akeneo/pim-community-dev/src/Oro/Bundle/DataGridBundle",
"/Users/liamtoohey/src/project-akeneo/vendor/akeneo/pim-community-dev/src/Oro/Bundle/FilterBundle",
"/Users/liamtoohey/src/project-akeneo/vendor/akeneo/pim-community-dev/src/Oro/Bundle/SecurityBundle",
"/Users/liamtoohey/src/project-akeneo/vendor/akeneo/pim-community-dev/src/Oro/Bundle/TranslationBundle",
"/Users/liamtoohey/src/project-akeneo/vendor/akeneo/pim-community-dev/src/Akeneo/Tool/Bundle/ConnectorBundle",
"/Users/liamtoohey/src/project-akeneo/vendor/akeneo/pim-community-dev/src/Akeneo/Tool/Bundle/ClassificationBundle",
"/Users/liamtoohey/src/project-akeneo/vendor/akeneo/pim-community-dev/src/Akeneo/Tool/Bundle/VersioningBundle",
"/Users/liamtoohey/src/project-akeneo/vendor/akeneo/pim-community-dev/src/Akeneo/Tool/Bundle/ElasticsearchBundle",
"/Users/liamtoohey/src/project-akeneo/vendor/akeneo/pim-community-dev/src/Akeneo/Tool/Bundle/BatchBundle",
"/Users/liamtoohey/src/project-akeneo/vendor/akeneo/pim-community-dev/src/Akeneo/Tool/Bundle/BatchQueueBundle",
"/Users/liamtoohey/src/project-akeneo/vendor/akeneo/pim-community-dev/src/Akeneo/Tool/Bundle/BufferBundle",
"/Users/liamtoohey/src/project-akeneo/vendor/akeneo/pim-community-dev/src/Akeneo/Tool/Bundle/FileStorageBundle",
"/Users/liamtoohey/src/project-akeneo/vendor/akeneo/pim-community-dev/src/Akeneo/Tool/Bundle/MeasureBundle",
"/Users/liamtoohey/src/project-akeneo/vendor/akeneo/pim-community-dev/src/Akeneo/Tool/Bundle/StorageUtilsBundle",
"/Users/liamtoohey/src/project-akeneo/vendor/doctrine/doctrine-migrations-bundle",
"/Users/liamtoohey/src/project-akeneo/vendor/friendsofsymfony/oauth-server-bundle",
"/Users/liamtoohey/src/project-akeneo/vendor/akeneo/pim-community-dev/src/Akeneo/Tool/Bundle/ApiBundle",
"/Users/liamtoohey/src/project-akeneo/vendor/oneup/flysystem-bundle",
"/Users/liamtoohey/src/project-akeneo/vendor/akeneo/pim-community-dev/src/Oro/Bundle/PimFilterBundle",
"/Users/liamtoohey/src/project-akeneo/vendor/akeneo/pim-community-dev/src/Oro/Bundle/PimDataGridBundle",
"/Users/liamtoohey/src/project-akeneo/vendor/akeneo/pim-community-dev/src/Akeneo/UserManagement/Bundle",
"/Users/liamtoohey/src/project-akeneo/vendor/akeneo/pim-community-dev/src/Akeneo/Channel/Bundle",
"/Users/liamtoohey/src/project-akeneo/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Enrichment/Bundle",
"/Users/liamtoohey/src/project-akeneo/vendor/akeneo/pim-community-dev/src/Akeneo/Pim/Structure/Bundle",
"/Users/liamtoohey/src/project-akeneo/vendor/akeneo/pim-community-dev/src/Akeneo/Platform/Bundle/DashboardBundle",
"/Users/liamtoohey/src/project-akeneo/vendor/akeneo/pim-community-dev/src/Akeneo/Platform/Bundle/AnalyticsBundle",
"/Users/liamtoohey/src/project-akeneo/vendor/akeneo/pim-community-dev/src/Akeneo/Platform/Bundle/ImportExportBundle",
"/Users/liamtoohey/src/project-akeneo/vendor/akeneo/pim-community-dev/src/Akeneo/Platform/Bundle/InstallerBundle",
"/Users/liamtoohey/src/project-akeneo/vendor/akeneo/pim-community-dev/src/Akeneo/Platform/Bundle/NotificationBundle",
"/Users/liamtoohey/src/project-akeneo/vendor/akeneo/pim-community-dev/src/Akeneo/Platform/Bundle/UIBundle",
"/Users/liamtoohey/src/project-akeneo/vendor/akeneo/pim-community-dev/src/Akeneo/Platform/Bundle/CatalogVolumeMonitoringBundle"]
Como você pode ver, o projeto reside em /Users/liamtoohey/src
. Isso parece causar problemas com o comando regex vinculado anteriormente, pois esse comando remove apenas caracteres até a primeira src
string, que neste caso não é o diretório src
dentro de Akeneo - mas meu diretório de trabalho . Alguns exemplos podem ser encontrados aqui: https://regex101.com/r/8GRLUq/1
Devido a isso, os caminhos de arquivo na variável dir
aqui https://github.com/akeneo/pim-community-dev/blob/v3.1.6/frontend/build/update-extensions.js#L60 parecem Como
...
src/project-akeneo/vendor/akeneo/pim-community-dev/src/Oro/Bundle/ConfigBundle
src/project-akeneo/vendor/akeneo/pim-community-dev/src/Oro/Bundle/DataGridBundle
src/project-akeneo/vendor/akeneo/pim-community-dev/src/Oro/Bundle/FilterBundle
src/project-akeneo/vendor/akeneo/pim-community-dev/src/Oro/Bundle/SecurityBundle
src/project-akeneo/vendor/akeneo/pim-community-dev/src/Oro/Bundle/TranslationBundle
...
Quando devem ser semelhantes a:
...
/Users/liamtoohey/src/vendor/akeneo/pim-community-dev/src/Oro/Bundle/ConfigBundle
/Users/liamtoohey/src/vendor/akeneo/pim-community-dev/src/Oro/Bundle/DataGridBundle
/Users/liamtoohey/src/vendor/akeneo/pim-community-dev/src/Oro/Bundle/FilterBundle
/Users/liamtoohey/src/vendor/akeneo/pim-community-dev/src/Oro/Bundle/SecurityBundle
/Users/liamtoohey/src/vendor/akeneo/pim-community-dev/src/Oro/Bundle/TranslationBundle
...
@Doodoune Alguma atualização sobre isso? Eu criei um PR para alterar a regex que está causando este problema 🙂
Eu tenho o mesmo problema. Eu fiz o pacote (instalado do composer) que tem o diretório src / e dentro do form_extensions. Essas extensões não são carregadas por causa deste regex em update-extensions.js. Você poderia consertar isso? Pode que
@liamjtoohey corrige esta regex e é o suficiente para aceitar seu PR.
Quebrado em 3.2 também
@liamjtoohey Ei, sua contribuição foi mesclada para master aqui: # 10568 obrigado novamente!
@tamarasaurus Este problema não deveria ser retrocedido no Akeneo 3.2?
Comentários muito úteis
@Doodoune Recebeu uma atualização interessante. Parece haver um bug nos seguintes comandos regex:
Meu projeto akeneo atualmente vive em um diretório
src
. O erro que estou tendo parece ser devido a caminhos de arquivo incorretos lidos deweb/js/require-paths.js
. Um exemplo do meu conteúdo deweb/js/require-paths.js
:Como você pode ver, o projeto reside em
/Users/liamtoohey/src
. Isso parece causar problemas com o comando regex vinculado anteriormente, pois esse comando remove apenas caracteres até a primeirasrc
string, que neste caso não é o diretóriosrc
dentro de Akeneo - mas meu diretório de trabalho . Alguns exemplos podem ser encontrados aqui: https://regex101.com/r/8GRLUq/1Devido a isso, os caminhos de arquivo na variável
dir
aqui https://github.com/akeneo/pim-community-dev/blob/v3.1.6/frontend/build/update-extensions.js#L60 parecem ComoQuando devem ser semelhantes a: