在看知乎比较php框架的优劣的时候提到为什么laravel这么好国内用的少,还有就是yii2,有人提到原因就是composer在国内无法使用。这制约了使用composer进行包管理的框架在国内的传播和使用而国内的框架如thinkphp以及一些不需要使用composer进行包管理的框架得以流行。
在ubuntu下学习,首先要学会安装composer,并处理各种问题
比如关于fxp插件的问题,系统里面如果有多个composer.phar之间会互相干扰的问题,一定要解决还有就是composer下载东西奇慢无比的问题。
root@tyr:/var/www/html# ./composer.phar global require "laravel/installer=~1.1"
Warning: This development build of composer is over 60 days old. It is recommended to update it by running "./composer.phar self-update" to get the latest version.
Changed current directory to /root/.composer
Warning: This development build of composer is over 60 days old. It is recommended to update it by running "./composer.phar self-update" to get the latest version.
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
- Installing symfony/process (v2.7.5)
Downloading: 100% - Installing symfony/console (v2.7.5)
Downloading: 100% - Installing react/promise (v2.2.1)
Downloading: 100% - Installing guzzlehttp/streams (3.0.0)
Downloading: 100% - Installing guzzlehttp/ringphp (1.1.0)
Downloading: 100% - Installing guzzlehttp/guzzle (5.3.0)
Downloading: 100% - Installing laravel/installer (v1.2.1)
Downloading: 100% symfony/console suggests installing symfony/event-dispatcher ()
symfony/console suggests installing psr/log (For using the console logger)
Writing lock file
Generating autoload files
root@tyr:/var/www/html#
对安装过程做简要分析,执行laravel安装命令以后composer提示你的版本已经60天没有更新,请运行
composer self-update
命令进行更新,不过我之前运行了,这个很奇怪,不过还是等下研究下完全安装composer的方法吧,全局安装
然后系统开始升级依赖并安装laravel
symfony/console suggests installing symfony/event-dispatcher ()
这其实一条很奇怪的命令,那么如何安装呢?
大家看到系统已经安装了一部分内容了,如何在安装这些呢,看composer的说明
我之前升级的是在/home/user里面composer的版本,所以才会出现超过60天没有更新的提示
用更新之后的composer再一次执行laravel安装命令
=============================
来自laravel官方的建议:
安装 Laravel
通过 Laravel 安装工具
首先,使用 Composer 下载 Laravel 安装包:
composer global require "laravel/installer=~1.1"
请确定把 ~/.composer/vendor/bin
路径放置于您的 PATH
里, 这样 laravel
执行文件就会存在你的系统。
一旦安装完成后,就可以使用 laravel new
命令建立一份全新安装的 Laravel
应用,例如:laravel new blog
将会在当前目录下建立一个名为 blog
的目录, 此目录里面存放着全新安装的 Laravel 相关代码,此方法跟其他方法不一样的地方在于会提前安装好所有相关代码,不需要再通过 composer install
安装相关依赖,速度会快许多。
如何呢?
============================================
symfony/console suggests installing symfony/event-dispatcher ()
symfony/console suggests installing psr/log (For using the console logger)
把user/.composer/vendor/bin和composer.phar加入环境变量