Pim-community-dev: 3.1.6webpack実行時のフォーム拡張エラー

作成日 2019年06月18日  ·  8コメント  ·  ソース: akeneo/pim-community-dev

説明

Akeneo 3.1.6 CEを手動でインストールした後、webpackを実行するとエラーが発生します。 以下のバージョン情報:

operating system: MacOSX

php: 7.2.13
node: v10.16.0
yarn: 1.16.0
mysql: 5.7

エラー:

$ 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

フォーム拡張が欠落しているように見えますか? カスタムコードのないバニラインスタンスがあるため、これをデバッグするのに苦労しています。 私が実行したFEビルド手順に関しては、こちらのガイドに従っていますhttps://docs.akeneo.com/3.1/install_pim/docker/installation_docker.html

インストールコマンドは問題なく完了しました。DBも見栄えがします。 奇妙に思えるdocker経由でセットアップするときに、このエラーを再現できませんでした。

bug

最も参考になるコメント

@Doodoune興味深いアップデートを

私のakeneoプロジェクトは現在srcディレクトリにあります。 私が経験しているエラーは、 web/js/require-paths.jsから読み取られた誤ったファイルパスが原因のようです。 私の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"]

ご覧のとおり、プロジェクトは/Users/liamtoohey/srcます。 このコマンドは最初のsrc文字列までの文字のみを削除するため、これは以前にリンクされたregexコマンドで問題を引き起こすようです。この場合、Akeneo内のsrcディレクトリではなく、私の作業ディレクトリです。 。 いくつかの例はここにあります: https

このため、ここのdir変数のファイルパスhttps://github.com/akeneo/pim-community-dev/blob/v3.1.6/frontend/build/update-extensions.js#L60外観お気に入り

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

それらがどのように見えるべきか:

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

全てのコメント8件

こんにちは! このエラーはどのステップで発生しますか? (またはどのコマンドで?)
どのシステムを使用していますか? (dockerまたは別の?)

こんにちは@Doodoune ! MacOSXを使用してこのプロジェクトをローカルにセットアップしています。 私のローカルセットアップはMAMPに似ていますが、PHP /ヤーン/ノードなどを管理するためにbrewを使用しています。ここで指定されているようにyarn run webpackを実行すると、このエラーが発生しますhttps://docs.akeneo.com/3.1/install_pim /manual/installation_ce_archive.html#initializing -akeneo

このPRhttps ://github.com/akeneo/pim-community-dev/pull/9607で行われた変更を見ると、ノードが/js/extensions.jsonデータをダンプしていないようです-おそらくエラーに関連しています。 yarn installようなコマンドは私にとっては問題なく実行されていますが、ステップがありませんか?

@Doodoune興味深いアップデートを

私のakeneoプロジェクトは現在srcディレクトリにあります。 私が経験しているエラーは、 web/js/require-paths.jsから読み取られた誤ったファイルパスが原因のようです。 私の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"]

ご覧のとおり、プロジェクトは/Users/liamtoohey/srcます。 このコマンドは最初のsrc文字列までの文字のみを削除するため、これは以前にリンクされたregexコマンドで問題を引き起こすようです。この場合、Akeneo内のsrcディレクトリではなく、私の作業ディレクトリです。 。 いくつかの例はここにあります: https

このため、ここのdir変数のファイルパスhttps://github.com/akeneo/pim-community-dev/blob/v3.1.6/frontend/build/update-extensions.js#L60外観お気に入り

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

それらがどのように見えるべきか:

...
/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これに関する更新はありますか? この問題の原因となっている正規表現を修正するためにPRを作成しました🙂

同じ問題があります。 src /ディレクトリとform_extensions内にあるパッケージ(composerからインストール)を作成しました。 update-extensions.jsにこの正規表現があるため、これらの拡張機能は読み込まれません。 直してもらえますか? それかもしれません
@liamjtooheyはこの正規表現を修正し、彼のPRを受け入れるのに十分です。

3.2でも壊れた

@liamjtooheyねえ、あなたの貢献はここでマスターにマージされました:#10568ありがとう!

@tamarasaurusこの問題はAkeneo3.2にバックポートされるべきではありませんか?

このページは役に立ちましたか?
0 / 5 - 0 評価