所以我们的网站我们有作曲家设置,在它获得软件包后,我们运行一些命令。
"scripts": {
"post-install-cmd": [
"php -r "shell_exec('cp -rf sourcefiles/. source/.');"",
"php -r "shell_exec('rm -rf sourcefiles');""
]
}
这些运行查找版本为 2016-02-24_11-44-07-45f6b37
但是当我运行自我更新程序以获取最新版本时,它会制动代码并且不再工作,即使没有任何变化。
这是一个令人担忧的原因,因为这意味着我们无法再更新我们的作曲家。知道为什么坏了,我们做错了什么吗?
非常感谢。
github上的某个人告诉了这个问题,
因此,仅在"安装后-cmd"上运行脚本,这在 1.0 之前有效,现在您需要在"安装后 cmd"和"更新后-cmd"上运行脚本,如果存在锁定文件,它会运行更新命令。
所以代码现在看起来像这样:
"scripts": {
"post-install-cmd": [
"cp -rf sourcefiles/. source/.",
"rm -rf sourcefiles"
],
"post-update-cmd": [
"cp -rf sourcefiles/. source/.",
"rm -rf sourcefiles"
]
}
感谢您帮助删除 PHP 依赖项
关于你的脚本的有趣之处在于: 真正的 shell 命令是 cp -rf sourcefiles/. source/.
,并且您将其包装到对 PHP 函数 shell_exec()
的调用中,并且由于没有 PHP 的帮助就无法调用此函数,因此您将此源代码传递给 shell 上的 PHP。
替代脚本建议:
"scripts": {
"post-install-cmd": [
"cp -rf sourcefiles/. source/.",
"rm -rf sourcefiles"
]
}
但是,您必须提供有关错误,收到的任何消息等的更多详细信息。