バージョン選択

フォーラム

メニュー

オンライン状況

21 人のユーザが現在オンラインです。 (9 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 21
もっと...

サイト内検索

プラグイン > バグ報告・利用に関する質問 > アップデートプラグイン4.0.5→4.0.6でエラーが出てアップデート出来ない

バグ報告・利用に関する質問

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
usamimi
投稿日時: 2021/6/28 12:12
対応状況: −−−
常連
登録日: 2018/8/17
居住地:
投稿: 46
アップデートプラグイン4.0.5→4.0.6でエラーが出てアップデート出来ない
▼テンプレート
[EC-CUBE] 4.0.5
[レンタルサーバ] さくらのレンタルサーバー
[PHP] 7.3.28 (モジュールモード)・7.4.19 (モジュールモード)
※動作確認のため念のためPHPのバージョンを変えて試しました


アップデートプラグインを使用して4.0.3→4.0.5までは問題なくアップデート出来たのですが、4.0.5→4.0.6の作業中にエラー出て何もできなくなりました。エラー内容は最後に記載します。

/vendor/composer/ClassLoader.php の 444 行目で Customer.php 参照を指定しているようですが、これが無いというエラーのようです。

何かご存じの方いらっしゃいましたらご教授いただければ幸いです。
どうぞよろしくお願いいたします。


Warning: include(/サーバー名/vendor/composer/../../app/proxy/entity/src/Eccube/Entity/Customer.php): failed to open stream: No such file or directory in /サーバー名/vendor/composer/ClassLoader.php on line 444

Warning: include(): Failed opening '/homeサーバー名/vendor/composer/../../app/proxy/entity/src/Eccube/Entity/Customer.php' for inclusion (include_path='.:/usr/local/php/7.3/lib/php') in /サーバー名/vendor/composer/ClassLoader.php on line 444

Fatal error: Uncaught Symfony\Component\DependencyInjection\Exception\InvalidArgumentException: Cannot determine controller argument for "Eccube\Controller\Admin\Customer\CustomerDeliveryEditController::edit()": the $Customer argument is type-hinted with the non-existent class or interface: "Eccube\Entity\Customer". in /サーバー名/vendor/symfony/http-kernel/DependencyInjection/RegisterControllerArgumentLocatorsPass.php:164 Stack trace: #0 /サーバー名/vendor/symfony/dependency-injection/Compiler/Compiler.php(140): Symfony\Component\HttpKernel\DependencyInjection\RegisterControllerArgumentLocatorsPass->process(Object(Symfony\Component\DependencyInjection\ContainerBuilder)) #1 /サーバー名/vendor/symfony/dependency-injection/ContainerBuilder.php(789): Symfony\Component\DependencyInjection\Compiler\Compiler->compile(Object(Symfony\Component\DependencyInjection\ContainerBuilder)) #2 /サーバー名/vendor/symfony/http-kernel/Kernel.php(643): Symfony\Compone in /サーバー名/vendor/symfony/http-kernel/DependencyInjection/RegisterControllerArgumentLocatorsPass.php on line 164
hkds
投稿日時: 2021/7/2 14:35
対応状況: −−−
半人前
登録日: 2019/3/20
居住地:
投稿: 13
Re: アップデートプラグイン4.0.5→4.0.6でエラーが出てアップデート出来ない
投稿者さんと同じ現象に直面したので、書き込みさせていただきます。
解決方法でなないですが、原因箇所の補足情報になります。

<私の環境>
[EC-CUBE] 4.0.5
[レンタルサーバ] さくらのレンタルサーバー
7.4.19 (モジュールモード)

--
管理画面でアップデートを進めると、
/eccube_updater_405_to_406/check_source
までは正常に動作。
--
ログを見る限り、次の処理
/eccube_updater_405_to_406/update_files
も正常に処理が完了しています。
--
そして、その次の処理
/eccube_updater_405_to_406/dump_autoload
でエラーが発生します。
※ /eccube_updater_405_to_406/dump_autoload にリダイレクトされた直後にエラーが出ています。

コントローラー
/eccube/app/Plugin/EccubeUpdater405to406/Controller/Admin/ConfigController.php

public function dumpAutoload(CacheUtil $cacheUtil)
{
・・・
}
の処理が実行されていません。
--

/eccube_updater_405_to_406/update_files の段階で、
/app/proxy/entity以下のプロキシファイルが削除されていて、再作成出来ていない状況です。

ログを見ると以下がエラーが出力されています。
php.INFO [N/A] [62d90cd] [N/A] [Symfony\Component\Debug\ErrorHandler:handleError:532] -
User Deprecated: The "Eccube\Service\Composer\ComposerApiService" service is private, getting it from the container is deprecated since Symfony 3.2 and will fail in 4.0. You should either make the service public, or stop using the container directly and use dependency injection instead. {"exception":"[object] (ErrorException(code: 0): User Deprecated: The \"Eccube\\Service\\Composer\\ComposerApiService\" service is private, getting it from the container is deprecated since Symfony 3.2 and will fail in 4.0. You should either make the service public, or stop using the container directly and use dependency injection instead. at [サーバーのルートパス]/eccube/vendor/symfony/dependency-injection/Container.php:282)"} [POST, /kpWcfdLdQoPvLqyMJY09ubkYn7RKkTmcLjnbHnVRfpHTD/eccube_updater_405_to_406/update_files, 217.178.83.44, [管理画面のルートパス]/eccube_updater_405_to_406/check_source, Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36]

解決方法が分かる方いらっしゃいましたら、書き込みいただけたら幸いです。
nanasess
投稿日時: 2021/7/5 13:45
対応状況: −−−
登録日: 2006/9/9
居住地: 大阪
投稿: 2174
Re: アップデートプラグイン4.0.5→4.0.6でエラーが出てアップデート出来ない
サーバーの性能不足などが原因で、 Composer の ClassMap の生成に失敗していると思われます。

ご参考)
https://qiita.com/nanasess/items/791c9ec98f69ada93ea0#composer-%E3%81%AE-classmap-%E7%94%9F%E6%88%90%E6%99%82%E3%81%AE%E3%82%A8%E3%83%A9%E3%83%BC


----------------
大河内健太郎(Kentaro Ohkouchi)
EC-CUBE公式エバンジェリスト
スキルニル株式会社

EC-CUBE1系2系長期サポートホスティングサービス CUBE Lab
https://cubelab.info/

hkds
投稿日時: 2021/7/6 8:38
対応状況: −−−
半人前
登録日: 2019/3/20
居住地:
投稿: 13
Re: アップデートプラグイン4.0.5→4.0.6でエラーが出てアップデート出来ない
nanasess さんのご指摘の通り、プラグインによるバージョンアップ(Webインストーラ)では、Composer の ClassMap の生成に失敗するようです。

コマンドラインでの操作は安定していたので、
https://doc4.ec-cube.net/update
を参考にコマンドラインでECCUBEアップデートを試しました。

usamimiさんの環境ではどうかわかりませんが、
私の環境では、コマンドラインでのバージョンアップ操作は問題なく出来た事をご報告致します。
usamimi
投稿日時: 2021/7/6 14:26
対応状況: −−−
常連
登録日: 2018/8/17
居住地:
投稿: 46
Re: アップデートプラグイン4.0.5→4.0.6でエラーが出てアップデート出来ない
nanasess様、hkds様、ご返信いただきありがとうございます。

教えていただいたページを参考にまずclassmapを再生成しようとしたのですが、そうすると

[RuntimeException]
require.ec-cube/EccubeUpdater400to401 is invalid, it should not contain u
ppercase characters. Please use ec-cube/eccubeupdater400to401 instead.

というエラーが出ます。
該当フォルダに置きっぱなしのプラグインフォルダが宜しくないのかと思い、フォルダ名を変更してみましたが同じエラーが出ます。

コマンドラインでのアップデートというのもやってみようと思ったのですが、この場合はこのページで公開されているファイルをコピペするなどしてファイルを差し替える、というやり方で宜しいでしょうか?

ご教授いただければ幸いです。
どうぞよろしくお願いいたします。
hkds
投稿日時: 2021/7/6 16:02
対応状況: −−−
半人前
登録日: 2019/3/20
居住地:
投稿: 13
Re: アップデートプラグイン4.0.5→4.0.6でエラーが出てアップデート出来ない
usamimiさん

私の場合ではありますが、以下のようにアップデートしました。

---
https://doc4.ec-cube.net/update
に記載がある手順詳細 1 〜 9をそのまま実行しました。
★ 4.0.5 or 4.0.5-p1からのアップデートの場合、「詳細手順 6」「詳細手順 8」は不要です。

---
「詳細手順 3」について
eccube 4.0.6-p1 ファイル一式をダウンロードします

[ vendor ] 以外の更新ファイルは以下 github で確認できるので、それらをFTP等で上書きアップロードします。
https://github.com/EC-CUBE/ec-cube/compare/4.0.5...4.0.6-p1
https://github.com/EC-CUBE/ec-cube/compare/4.0.5-p1...4.0.6-p1

[ vendor ] ディレクトリは、手順に記載の通りで上書きします。

---
composerコマンドについて
パスを通していないなら、composer.pharをphpで実行します。
例: php composer.phar dump-autoload
といった感じ。composer.pharは、設置場所によってはパスで指定します

パスを通してあるなら、手順に記載の通りで、
例: composer dump-autoload
といった入力になります。

---
ご参考までに。
nanasess
投稿日時: 2021/7/6 16:21
対応状況: −−−
登録日: 2006/9/9
居住地: 大阪
投稿: 2174
Re: アップデートプラグイン4.0.5→4.0.6でエラーが出てアップデート出来ない
これは、おそらく composer v2 を使っているからですね。

composer selfupdate --1

を実行すると、 v1 にダウングレードできますので、そのあとに再度 classmap を生成してみてください


----------------
大河内健太郎(Kentaro Ohkouchi)
EC-CUBE公式エバンジェリスト
スキルニル株式会社

EC-CUBE1系2系長期サポートホスティングサービス CUBE Lab
https://cubelab.info/

usamimi
投稿日時: 2021/7/6 18:58
対応状況: −−−
常連
登録日: 2018/8/17
居住地:
投稿: 46
Re: アップデートプラグイン4.0.5→4.0.6でエラーが出てアップデート出来ない
hkds様、詳しく教えてくださりありがとうございます。
教えていただいたやり方で無事にバージョンアップさせることが出来ました。
ありがとうございます。

余談にはなりますが、差分のファイル一式をどこでダウンロードできるのかがわからなかったのと、4.0.5→4.0.6のバージョンアップで躓いていたこともあって、本家からちょうど今配布されているダウンロードバージョンの4.0.6のフルパッケージをDLしてきて該当ファイルを全て差し替えたのですが、本来はどこから探すべきだったのでしょうか。


nanasess様

コマンドを打ってみましたが、今度は
% composer selfupdate --1
composer: Command not found.

となってしまい、うまく行きませんでした。
他にも

composer self-update --1
php composer.phar self-update --1

など、思いつくだけ試してみましたが、前回と同じエラーが出るだけでした。
composerのインストール自体は出来ているとは思うのですが、どう打つのが正しかったのでしょうか。



今回は差分ファイルの差し替えでどうにかアップデートすることが出来ましたが、今後同じようなことが起こった時に対処できるように、今回の自分がどうすべきだったのかが知りたいです。
宜しければもう少しお付き合いいただければ幸いです。
よろしくお願いいたします。
nanasess
投稿日時: 2021/7/7 12:38
対応状況: −−−
登録日: 2006/9/9
居住地: 大阪
投稿: 2174
Re: アップデートプラグイン4.0.5→4.0.6でエラーが出てアップデート出来ない
引用:

composerのインストール自体は出来ているとは思うのですが、どう打つのが正しかったのでしょうか。


おそらく、インストールされた composer が見つけられないのだと思われます。
どこにインストールしたか、おわかりになるのであれば、以下のようにフルパスで指定すると良いと思います


/path/to/composer selfupdate --1


https://getcomposer.org/download/ からダウンロード直後は、 composer.phar となっていますので


php composer.phar selfupdate --1


とする必要があります


----------------
大河内健太郎(Kentaro Ohkouchi)
EC-CUBE公式エバンジェリスト
スキルニル株式会社

EC-CUBE1系2系長期サポートホスティングサービス CUBE Lab
https://cubelab.info/

hkds
投稿日時: 2021/7/7 12:51
対応状況: −−−
半人前
登録日: 2019/3/20
居住地:
投稿: 13
Re: アップデートプラグイン4.0.5→4.0.6でエラーが出てアップデート出来ない
引用:

余談にはなりますが、差分のファイル一式をどこでダウンロードできるのかがわからなかったのと、4.0.5→4.0.6のバージョンアップで躓いていたこともあって、本家からちょうど今配布されているダウンロードバージョンの4.0.6のフルパッケージをDLしてきて該当ファイルを全て差し替えたのですが、本来はどこから探すべきだったのでしょうか。


差分ファイルのみの一式はないと思います。

ECCUBEをカスタマイズしていないようであれば、
差分ファイルは特に気にせず、
[app/config/eccube]
[app/DoctrineMigrations]
[bin]
[src]
[html]
を置き換えるだけでもいいと思います。

私の場合は、ECCUBE本体をカスタマイズしてしまっているため、
最新版 4.0.6-p1 を一式ダウンロードして、GitHubで差分ファイルがどれか確認の上、必要なファイルのみを差し替えました。
(1) 2 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

公式ストアEC-CUBE4系デザインテンプレート続々リリース中

統計情報

総メンバー数は73,045名です
総投稿数は102,094件です

投稿数ランキング

1
seasoft
7333
2
468
3073
3
AMUAMU
2712
4
nanasess
2174
5
umebius
2030
6
yuh
1612
7
red
1453
8
h_tanaka
1090
9
tsuji
936
10
fukap
907
11
shutta
835
12
tao_s
793
13 ramrun 789
14 karin 689
15 sumida 641
16
homan
633
17 DELIGHT 572
18
patapata
502
19
flealog
485
20 tonton 437


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.