独立于平台的作曲家安装后 cmd 脚本



假设我的项目具有以下结构

project
templates
webassets
composer.json

默认情况下,运行composer update时,将在目录中创建指向我的项目的符号链接vendor/。我想创建一个自定义的安装后cmd脚本,该脚本将创建指向templates的符号链接,并在不同位置webassets文件夹。

由于我的团队正在开发Windows/Mac/Linux,我计划运行一个简单的php命令来实现这一点。我似乎不知道从哪里开始...

问题是,启动 php 脚本时我无法弄清楚我当前的位置在哪里?我尝试创建一个空文件以查看它在哪里创建它,但它甚至没有创建它。

这就是我希望开始的工作

"scripts": {
"post-install-cmd": [
"php -r "symlink('/vendor/project/templates', '/templates/project');"",
"php -r "symlink('/vendor/project/web/assets', '/web/project/assets');""
]
}

您可能应该从路径中删除前导斜杠 - 至少在 unix 上,它将被解释为绝对路径,并且绝对不会指向您的项目。

"scripts": {
"post-install-cmd": [
"php -r "symlink('vendor/project/templates', 'templates/project');"",
"php -r "symlink('vendor/project/web/assets', 'web/project/assets');""
]
}

如果你想要一个防弹的解决方案,你可能应该创建PHP帮助程序类并使用__DIR__lub composer API来定义正确的路径。请参阅文档中的示例。

相关内容

  • 没有找到相关文章

最新更新