![](/img/trans.png)
[英]Composer - autoload classes in CodeIgniter outside vendor folder
[英]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.