加速 Laravel 新建项目的办法
2017-08-17 更新:因为服务器到期,下述方法已经失效。加速的方法请参照这里的方法设置 composer 镜像源,并使用下面的方式创建项目。
composer create-project --prefer-dist laravel/laravel [project_name]
这样创建项目时,将使用镜像源下载框架,而不会从墙外的
cabinet.laravel.com
下载。
前段时间有个项目用到了 laravel 框架。laravel 本身是个很优秀的框架,OOP 的思想贯穿始终,大量使用已经开源的第三方类库,用反向控制(IoC)的思想对服务进行抽象和隔离,帮助程序员完成对服务的分治,大大提高了架构效率和开发效率、后期维护效率。
laravel 目前最新的稳定版是 laravel 5.1。因为我是从 5.1 开始使用 laravel 的,对 5.0 及 4.x 版本并不熟悉。但从网上大家的反馈来看,laravel 4.x 的使用方法和 5.x 相差较多,甚至 5.0 和 5.1 在细节处也有很多大的改进。我这里针对的主要是使用 laravel 5.1 的朋友,下面如果未明确提及版本,也默认指代 laravel ^5.1。
laravel 中新建项目的方法如下:
laravel new [project_name]
但是这个命令很慢,原因在于每次执行这个命令,laravel installer 都会从 http://cabinet.laravel.com/latest.zip
下载最新的稳定版 laravel 空项目代码,用以创新新项目。
# ~/.composer/vendor/laravel/installer/src/NewCommand.php (Line.97)
// ......
/**
* Download the temporary Zip to the given file.
*
* @param string $zipFile
* @return $this
*/
protected function download($zipFile)
{
$response = (new Client)->get('http://cabinet.laravel.com/latest.zip');
file_put_contents($zipFile, $response->getBody());
return $this;
}
// .......
恰好因为『你懂的』原因,我们访问 cabinet.laravel.com
这个站点的时候会比较慢,由此造成了新建项目的时候很慢。
我们自己做了一个 mirror 来解决这个问题。
修改 /etc/hosts
(*nux / Mac OSX)或 %SYSTEMROOT%\System32\drivers\etc\hosts
(Windows) 文件,新增下面一行:
123.59.41.89 cabinet.laravel.com
这样新建项目的时候,就可以直接从我们的 mirror 上拉取最新的 laravel 发布版,很快完成新项目创建。