所以我们的网站有作曲家设定, 在获得包之后我们运行一些命令。
"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
但是,当我运行自我更新程序以获取最新版本时,即使没有任何改变,它也会对代码进行制动并且不再有效。
这令人担忧,因为这意味着我们无法再更新我们的作曲家。知道为什么会破坏我们做错了吗?
非常感谢。
答案 0 :(得分:4)
github上的某个人告诉了这个问题,
所以只运行“post-install-cmd”上的脚本,这在1.0之前有效,现在需要在“post-install-cmd”和“post-update-cmd”上运行脚本,如果存在锁文件则运行更新命令。
所以代码现在看起来像这样:
"scripts": {
"post-install-cmd": [
"cp -rf sourcefiles/. source/.",
"rm -rf sourcefiles"
],
"post-update-cmd": [
"cp -rf sourcefiles/. source/.",
"rm -rf sourcefiles"
]
}
感谢您帮助删除PHP依赖
答案 1 :(得分:1)
关于你的脚本的有趣之处是:真正的shell命令是cp -rf sourcefiles/. source/.
,你将它包装成对PHP函数shell_exec()
的调用,因为没有帮助就无法调用这个函数在PHP中,您将此源代码传递给shell上的PHP。
替代脚本建议:
"scripts": {
"post-install-cmd": [
"cp -rf sourcefiles/. source/.",
"rm -rf sourcefiles"
]
}
但是,您必须提供有关错误的更多详细信息,您收到的任何消息等。