Pim-community-dev: 3.1.6 erro de extensões de formulário ao executar webpack

Criado em 18 jun. 2019  ·  8Comentários  ·  Fonte: akeneo/pim-community-dev

Descrição

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.

bug

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 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
...

Todos 8 comentários

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?

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

gotgelf picture gotgelf  ·  5Comentários

Jacky75 picture Jacky75  ·  3Comentários

lpxavi picture lpxavi  ·  4Comentários

ewallteam picture ewallteam  ·  6Comentários

a2xchip picture a2xchip  ·  5Comentários