繁体   English   中英

使用供应商文件夹之外的一些作曲家包部署 GAE 应用程序

[英]Deploy GAE app with some composer packages outside vendor folder

我正在尝试通过installer-paths composer 指令在/vendor文件夹之外安装一些软件包。

部署后,这些包不会安装在部署中,但vendor文件夹中的包是。

有什么方法可以让云构建在vendor文件夹之外安装作曲家包?

我正在使用基于作曲家的样板Bedrock将 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

我认为这是不可能的,因为 Google Cloud Platform 文档指出,composer 专门将包添加到您的应用程序的vendor/目录中,其中会生成autoload.php

我实际上发现部署:

gcloud beta app deploy --no-cache

即使在/vendor文件夹之外也能成功安装所有软件包。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM