Skip to content

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

@sw-satoshi-nakano

Description

@sw-satoshi-nakano

概要(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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bug:Highgood-first-issueGood for newcomers/簡単に修正できそうなもの

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions