ciao-h
2024 年 6 月 27 日午前 9:39
1
【環境情報】
・baserCMSのバージョン:5.0.18
・レンタルサーバー名:XAMPP8.2.4
・データベース:SQLite
・使用テーマ:自作テーマ
・PHPスキル(自己評価):E
Windows環境でアップデートする際、PHP及びCURLのパスを通し、Xdebugを有効化してもアップデートに失敗するので調べたところ、下記のファイル内の
Windows環境では動作しないコマンドを実行するコードを変更したところ動作し、アップデートできました。
vendor/baserproject/baser-core/src/Utility/BcComposer.php
64行目 「cd」→「cd /D」 、「;」→「&&」に変更
変更前
self::$cd = "cd " . ROOT . DS . ';';
変更後
self::$cd = "cd /D " . ROOT . DS . '&&';
66行目 「export」→「set」 、「;」→「&&」に変更
変更前
self::$export = "export HOME=" . self::$composerDir . ";";
変更後
self::$export = "set HOME=" . self::$composerDir . "&&";
133行目「cd」→「cd /D」 、「;」→「&&」に変更
変更前
$command = 'cd ' . self::$composerDir . '; ' . self::$export . ' curl -sS https://getcomposer.org/installer' . ' | ' . self::$php . ' 2>&1';
変更後
$command = 'cd /D ' . self::$composerDir . '&& ' . self::$export . ' curl -sS https://getcomposer.org/installer' . ' | ' . self::$php . ' 2>&1';
ただ、アップデートの際、PHP CLIのパスは手動で入力する必要があるため、そこのところは別のPHPファイルの記述を変更する必要があるのかも・・・
修正については「Windows環境でのインストール方法」のトピックを参考にしました。
Windows環境でのインストール(5.0.10)
ciao-h
2024 年 10 月 18 日午前 1:31
3
【環境情報】
・baserCMSのバージョン:5.0.20~
・レンタルサーバー名:XAMPP8.2.4
・データベース:SQLite
・使用テーマ:自作テーマ
・PHPスキル(自己評価):E
basercmsのバージョンが新しくなり、BcComposer.phpの内容が変わっていたため、Windows(Xampp)環境でアップデートを行う際の記述を修正します。
※5.1.2ではBcComposer.phpの記述が再度変わっていたので、5.1.3が出たときまた書き方を変える必要があります。
※アップデートの際、PHP CLIのパスは手動で入力する必要があります。
vendor/baserproject/baser-core/src/Utility/BcComposer.php
66行目 「cd」→「cd /D」 、「;」→「&&」に変更
変更前
self::$cd = ($dir)? "cd " . $dir . ';': "cd " . ROOT . DS . ';';
変更後
self::$cd = ($dir)? "cd /D " . $dir . '&&': "cd /D " . ROOT . DS . '&&';
68行目 「export」→「set」 、「;」→「&&」に変更
変更前
self::$export = "export HOME=" . self::$composerDir . ";";
変更後
self::$export = "set HOME=" . self::$composerDir . "&&";
135行目「cd」→「cd /D」 、「;」→「&&」に変更
変更前
$command = 'cd ' . self::$composerDir . '; ' . self::$export . ' curl -sS https://getcomposer.org/installer' . ' | ' . self::$php . ' 2>&1';
変更後
$command = 'cd /D ' . self::$composerDir . '&& ' . self::$export . ' curl -sS https://getcomposer.org/installer' . ' | ' . self::$php . ' 2>&1';
ciao-h
2024 年 10 月 18 日午前 1:55
4
また、xampp用にBcComposer.phpの記述を変更して、5.1.0から5.1.1(または5.1.2)にアップデートする際下記のようなエラーが表示されました。
Your requirements could not be resolved to an installable set of packages.
Problem 1
- Root composer.json requires baserproject/baser-core 5.1.1 → satisfiable by baserproject/baser-core[5.1.1].
- baserproject/baser-core 5.1.1 requires mobiledetect/mobiledetectlib ^3.74 → found mobiledetect/mobiledetectlib[3.74.0, 3.74.2, 3.74.3] but it conflicts with your root composer.json require (^4.8.03).
翻訳したところ
『’baserproject/baser-core’のバージョン5.1.1が’mobiledetect/mobiledetectlib’のバージョン3.74を要求していますが、あなたの’composer.json’ファイルでは’mobiledetect/mobiledetectlib’のバージョン4.8.03を要求しているため、バージョンの競合が発生しています。』
とのことでしたので、composer.jsonとcomposer.lockファイルの’mobiledetect/mobiledetectlib’と関係ありそうな箇所を修正したところインストールできました。
composer.json
23行目 「^4.8.03」→「^3.74」に変更
修正前
mobiledetect/mobiledetectlib": "^4.8.03"
修正後
mobiledetect/mobiledetectlib": "^3.74"
composer.lock
49行目 「^4.8.03」→「^3.74」に変更
修正前
"mobiledetect/mobiledetectlib": "^4.8.03",
修正後
"mobiledetect/mobiledetectlib": "^3.74",
1574行 「4.8.06」→「3.74.3」に変更
修正前
"version": "4.8.06",
修正後
"version": "3.74.3",
basercms5.1.1のインストーラーパッケージでは、初めから上記の記述になっていたので、それに合わせて修正しました。
5.1.0だけ上記の修正する必要があるのかも?