安装laravel遇到的各种坑

部署环境

Centos7 / nginx1.10 / php7.0.9 / composer1.1.3

安装或更新composer

#安装
yum install composer
#更新
yum update composer

坑一:composer镜像

由于大环境的原因,安装composer需要采用国内镜像

#执行下面这个命令,更换镜像
composer config -g repo.packagist composer https://packagist.phpcomposer.com

#更换镜像后,执行下面的命令安装laravel
composer global require "laravel/installer"

坑二:环境变量

查了很多网上的还有laravel官方文档,都说是要把~/.composer/vendor/bin加到环境变量去,结果我加也加了,执行laravel命令的时候,还是command not found,最后我发现,原来~/.composer/vendor/bin目录根本就不存在,而应该是~/.config/composer/vendor/bin。

vim ~/.bash_profile
# 修改PATH
PATH=$PATH:$HOME/bin:~/.config/composer/vendor/bin

#或者用如下方法
vim ~/.bashrc
# 增加下面这句
alias laravel='~/.config/composer/vendor/bin/laravel'

#运行laravel命令查看
laravel
Laravel Installer version 1.3.3

Usage:
  command [options] [arguments]

Options:
  -h, --help            Display this help message
  -q, --quiet           Do not output any message
  -V, --version         Display this application version
      --ansi            Force ANSI output
      --no-ansi         Disable ANSI output
  -n, --no-interaction  Do not ask any interactive question
  -v|vv|vvv, --verbose  Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug

Available commands:
  help  Displays help for a command
  list  Lists commands
  new   Create a new Laravel application.

坑三:目录权限问题

这个问题,在官方文档里有提到,就是storage/和bootstrap/cache/这两个目录要用写权限,其它有文档里没有提到bootstarp/cache目录,而是说public/upload目录给予写权限。这个可能是laravel版本问题,我安装的是最新版laravel5.2,这个版本不支持php7。

$ chmod 777 -R storage/
$ chmod 777 -R bootstrap/cache/
# 其实这种方式并不好
# 我是将这两个文件夹的所属设置为php运行的用户
# 这样在php运行的时候自然就对这两个目录有写权限
# 而不用全部开放权限

坑四:~/.config/composer/vendor目录没有

在多次安装中发现,有时~/.config/composer/目录下没有vendor文件夹,只有composer.json文件

$ cd ~/.config/composer/
$ composr install
#执行上面两句后,就有vendor文件夹了

坑五:卸载不干净,遗留缓存,造成重新安装laravel时出错

composer安装时会产生缓存,重新安装时,要清理掉这些缓存文件才能继续安装。

添加新评论