symfony - Symfony 部署与 capistrano 抛出“目标目录“web”不存在。” 关于资产安装
问题描述
我有一个 symfony 系统,我正在尝试使用 capistrano 部署它。连接是通过 ssh 进行的。
引发错误的函数是 symfony:assets:install,如下所示:
php /var/www/xx/releases/20200415083534/app/console assets:install web --symlink
它抛出以下错误
[InvalidArgumentException]
The target directory "web" does not exist.
正如您所期望的那样,该文件夹就在那里——我的用户是所有者并且拥有它的权利。如果我转到这个确切的文件夹 /20200415083534 并运行与上面相同的脚本,它会按预期安装资产。
作曲家额外看起来像这样:
"extra": {
"symfony-app-dir": "app",
"symfony-web-dir": "web",
"symfony-assets-install": "relative",
"incenteev-parameters": [
{
"file": "app/config/parameters.yml"
},
{
"file": "app/config/parameters_prod.yml",
"dist-file": "app/config/parameters_prod.yml.dist"
}
],
"branch-alias": {
"dev-master": "2.8.*"
}
}
有任何想法吗?
PS我已经检查了这个 “assets:install”命令失败,错误“目标目录“web”不存在”,为什么? 因为它有相同的错误,但情况不同,他的解决方案不适用于我的情况。
解决方案
听起来可能有点愚蠢,但我确实通过在 deploy.rb 文件的控制台应用程序路径中添加一个空格解决了这个问题。(我认为问题出在其他地方,但这种解决方法在我的情况下做到了)它看起来像:
set :symfony_console_path, " app/console"
现在。
这已将命令行更改为:
php /var/www/xx/releases/20200415083534/ app/console assets:install web --symlink
这确实按预期执行。
希望这可以帮助有人在这个问题上猛烈抨击(就像我几天所做的那样)。
推荐阅读
- database - BI 仪表板的数据模型
- angular - 构建项目时出现角度生产错误
- javascript - 图像在放大/缩小时应适合画布边框
- r - 合并和调整新列中的字符
- javascript - 如何使用 javascript 获取选择元素的数据属性
- ios - 我可以隐藏试飞按钮吗
- docker - Gitlab ci 不能运行超过 2 个 ssh 命令
- python - QTreeView 中的 QCompleter 未完成预期的列
- mongodb - 无法在 Mongo 模式中生成 uuid
- javers - JaversException:NOT_INSTANCE_OF:JaVers 引导错误 - 预期的“文件”实例,得到了“com.mycompany.model.File”的实例