Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

プラグインパッケージの中にResource/assetsが存在するとプラグインのインストールに失敗する #3796

Closed
sw-satoshi-nakano opened this issue Sep 9, 2018 · 5 comments
Labels
bug:High good-first-issue Good for newcomers/簡単に修正できそうなもの
Milestone

Comments

@sw-satoshi-nakano
Copy link
Contributor

概要(Overview)

プラグインパッケージの中にResource/assetsが存在すると、エラーが発生し、プラグインのインストールに失敗する。

エラー

Failed to create "/PATH/TO/WEB_ROOT/src/Eccube/Repository/Master/plugin/プラグインコード/assets": mkdir(): Permission denied.

エラー箇所

/**
* リソースファイル等をコピー
* コピー元となるファイルの置き場所は固定であり、
* [プラグインコード]/Resource/assets
* 配下に置かれているファイルが所定の位置へコピーされる
*
* @param string $pluginBaseDir
* @param $pluginCode
*/
public function copyAssets($pluginBaseDir, $pluginCode)
{
$assetsDir = $pluginBaseDir.'/Resource/assets';
// プラグインにリソースファイルがあれば所定の位置へコピー
if (file_exists($assetsDir)) {
$file = new Filesystem();
$file->mirror($assetsDir, $this->eccubeConfig['plugin_html_realdir'].$pluginCode.'/assets');
}
}

期待する内容(Expect) or 要望 (Requirement)

プラグインコード/Resource/assetsをミラーリングする仕様であればドキュメントに記載してほしい。
動作するようにしてほしい。

再現手順(Procedure)

管理画面からインストールした時に発生する。
コマンドラインでのインストールではPluginService::copyAssets()が実行されていないようでエラーが発生しない。

環境 (environment)

  • EC-CUBE: 4.0-beta

関連情報 (Ref)

#2644
https://ec-cube.slack.com/archives/C03P2Q8QL/p1534386611000100

@okazy okazy added this to the 4.0 milestone Sep 10, 2018
@okazy
Copy link
Contributor

okazy commented Sep 10, 2018

ご報告ありがとうございます。
手元の環境で同様のエラーが確認できました。

プラグインコード/Resource/assetsをミラーリングするのが正しい仕様となりますので、コマンド/画面の両方のインストール方法で正しくファイルを配置できるように修正する必要があります。

開発ドキュメントにも記載したほうがいいですね。

@okazy
Copy link
Contributor

okazy commented Sep 12, 2018

@sw-satoshi-nakano #3821 にて修正しましたのでそちらの環境でも確認していただけますか?

@sw-satoshi-nakano
Copy link
Contributor Author

@okazy
ありがとうございます。
管理画面、コマンドともにインストール時にResource/assetsフォルダがコピーされることを確認しました。

アンインストール時の削除が一部できていないかったようですので、報告いたします。

・管理画面のアンインストール
「html/plugin/プラグインコード/*」は消えるが、「html/plugin/プラグインコード」フォルダが消えない。

・コマンドのアンインストール
「html/plugin/プラグインコード」「html/plugin/プラグインコード/*」が消えない。

@chihiro-adachi chihiro-adachi modified the milestones: 4.0, 4.0.x Oct 10, 2018
@kanako-kina
Copy link
Contributor

@sw-satoshi-nakano
確認いただきありがとうございます。
・管理画面のアンインストール
・コマンドのアンインストール
上記二点も消えるよう修正します。

@chihiro-adachi chihiro-adachi modified the milestones: 4.0.x, 4.0.2 Feb 8, 2019
@chihiro-adachi chihiro-adachi added the good-first-issue Good for newcomers/簡単に修正できそうなもの label Feb 8, 2019
@chihiro-adachi
Copy link
Contributor

#4087 で対応しました。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug:High good-first-issue Good for newcomers/簡単に修正できそうなもの
Projects
None yet
Development

No branches or pull requests

4 participants