PHPHub Composer install 失败的经验分享
2016.8.24 19:29分更新
composer.json修改前:
"scripts": {
"post-root-package-install": [
"php -r \"copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"php artisan key:generate"
],
"post-install-cmd": [
"Illuminate\\Foundation\\ComposerScripts::postInstall",
"php artisan optimize"
],
"post-update-cmd": [
"Illuminate\\Foundation\\ComposerScripts::postUpdate",
"php artisan optimize"
]
},
composer.json修改后:
"scripts": {
"post-create-project-cmd": [
"php artisan key:generate"
],
"post-install-cmd": [
"php -r \"copy('.env.example', '.env');\"",
"Illuminate\\Foundation\\ComposerScripts::postInstall",
"php artisan optimize"
],
"post-update-cmd": [
"Illuminate\\Foundation\\ComposerScripts::postUpdate",
"php artisan optimize"
]
},
可见 post-root-package-install
中的php命令并没有起作用,将里面的命令移动到post-install-cmd
后问题解决了,我还以为是copy函数不起作用呢
修改后执行的结果:
2016.8.24 19:02分更正
以为是composer.json的原因,谁知道是composer.json中的"php -r \"copy('.env.example', '.env');\""
在我的虚拟机上没有起作用,没有创建.env造成的。
参考链接:安装出错 #17
下面是之前的猜测:
从Github上克隆下来代码后,执行Composer install过程均很顺利,但是最后一步出现了问题,如图:
从截图上看是在执行 php artisan optimize
时出现了问题。
打开Google,输入关键词 Illuminate\Foundation\ComposerScripts::postInstall post-install-cmd
,在stackoverflow.com
找到了答案。
参考链接:Error on Artisan commands when updating Composer dependencies
原来这个BUG是在5.2.25之后才被解决,而PHPHub 用的是Laravel 5.1.x LTS版本,所以出现了这个问题。解决起来也比较容易,就是找到pre-update-cmd做相应替换就行。
推荐文章: