Разверните приложение GAE с некоторыми пакетами композитора вне папки продавца - PullRequest
0 голосов
/ 11 октября 2019

Я пытаюсь установить некоторые пакеты вне папки /vendor через директиву installer-paths composer.

После развертывания эти пакеты не устанавливаются в развертывании, а находятся в папках vendor.

Есть ли какой-либо способ разрешить сборке Cloud для установки пакетов компоновщика вне папки vendor?

Я развертываю веб-сайт Wordpress на GAE php72, используя шаблонный компоновщик Бедрок .

Я пытался установить эти пути для целевых пользовательских папок в папке / vendor, и это работает, возможно, существуют какие-то правила безопасности, которые позволяют composer install только записывать в vendor?

Вот часть composer.json:

{
  // ...
  {
    "composer/installers": "^1.7",
    "wpackagist-plugin/wordpress-seo": ">=6.0",
    "wpackagist-theme/twentynineteen":"1.0"
  },
  "extra": {
    "installer-paths": {
      "web/app/mu-plugins/{$name}/": ["type:wordpress-muplugin"],
      "web/app/plugins/{$name}/": ["type:wordpress-plugin"],    
      "web/app/themes/{$name}/": ["type:wordpress-theme"]
    },
    "wordpress-install-dir": "web/wp"
  }
  //...
}

Я также пытался использовать сценарии composer post-install-cmd для копирования пакетов из папки /vendor в нужное место, носборка завершается с сообщением:

Step #1 - "builder": Script cp vendor/plugins/* web/app/plugins handling the post-install-cmd event returned with error code 1
Step #1 - "builder": cp: target 'web/app/plugins' is not a directory
Step #1 - "builder": > cp vendor/plugins/* web/app/plugins

1 Ответ

0 голосов
/ 11 октября 2019

Я не думаю, что это будет возможно, поскольку, как показывает документация Google Cloud Platform , композитор специально добавляет пакеты в каталог vendor/ вашего приложения, где autoload.php генерируется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...