Composer安装+ laravel6.x项目搭建

1、什么是composer?composer的作用是什么? 这些概念性的东东,请自行百度脑补
2、composer的安装条件
      要使用 composer 首先是要安装它;安装 composer 的前提要求是已经有 php 环境了,同时需要开启 openssl 和 fileinfo 扩展;
3、官方网站:https://getcomposer.org/
4、国内中文网站:http://www.phpcomposer.com/
5、Comopser资源库:https://packagist.org

一、window下安装Composer

环境以Windows 10 + phpStudy8.0为例进行安装。

1、下载Composer-Setup.exe

 方法下载地址: https://getcomposer.org/Composer-Setup.exe
官方为国外的,如果下载慢,就使用国内站点: https://www.phpcomposer.com/

2、双击Composer-Setup.ex

Composer安装+ laravel6.x项目搭建_第1张图片

3、选择依赖的php.exe
Composer安装+ laravel6.x项目搭建_第2张图片

如下图,此目录中为PHP的安装目录,必须含有php.exe

Composer安装+ laravel6.x项目搭建_第3张图片

继续 "next"
Composer安装+ laravel6.x项目搭建_第4张图片

这里什么都不用填写,继续“next”

Composer安装+ laravel6.x项目搭建_第5张图片

最后等待
Composer安装+ laravel6.x项目搭建_第6张图片

有时网络慢,可能需要一会,也可能这一步会失败,那就重新安装吧

二、centos7.6下Composer安装

1、下载composer.phar

# cd /mydata/

# curl -sS https://getcomposer.org/installer | php
// 如果是网络原因失败,多试几次,直到出现如下:
All settings correct for using Composer
Downloading...

Composer (version 1.8.5) successfully installed to: /mydata/composer.phar
Use it: php composer.phar

下载成功

2、把composer.phar移动到环境下让其变成可执行

//把此文件移动到 /usr/local/bin/目录下,并改名为composer,此目录为系统全局加载
[root@localhost mydata]# mv composer.phar /usr/local/bin/composer

3、测试:

//在任意位置
# cd /
# composer -v
Do not run Composer as root/super user! See https://getcomposer.org/root for details(不要在root超级用户下执行)
   ______
  / ____/___  ____ ___  ____  ____  ________  _____
 / /   / __ \/ __ `__ \/ __ \/ __ \/ ___/ _ \/ ___/
/ /___/ /_/ / / / / / / /_/ / /_/ (__  )  __/ /
\____/\____/_/ /_/ /_/ .___/\____/____/\___/_/
                    /_/
Composer version 1.8.5 2019-04-09 17:46:47
......

4、修改镜像地址

# composer config -g repo.packagist composer https://packagist.phpcomposer.com
Do not run Composer as root/super user! See https://getcomposer.org/root for details (不要在root超级用户下执行)

也可以使用Laravel提供的中国镜像:
方法一:全局配置(推荐)
# composer config -g repo.packagist composer https://packagist.laravel-china.org

方法二:单独使用,如果仅限当前工程使用镜像,去掉 -g 即可,如下
# composer config repo.packagist composer https://packagist.laravel-china.org


取消镜像:
# composer config -g --unset repos.packagist

上面 3、4都会提示“不要在root超级用户下执行”所以就更换一个用户吧(不更换也没问题),如下,就不会报这个提示了

#useradd niuxitong
#passwd niuxitong
  设置密码 niu2****7

#su  niuxitong
# composer -v    不再有此提示了
# composer config -g repo.packagist composer https://packagist.phpcomposer.com

到此 composer 已经安装完成

三、Composer常用命令

更多命令参考官方文档: https://docs.phpcomposer.com/03-cli.html
1、切换国内镜像
新安装的composer 默认使用的国外的镜像地址,切换为国内的镜像地址,加快下载速度。

# composer config -g repo.packagist composer https://packagist.phpcomposer.com

2、常用全局命令

# composer                打印所有命令
# composer -V             版本号
# composer --version      版本号

# composer self-update    更新composer版本为最新版

显示本项目下已经安装的包
# composer show
或    
# composer info 

# composer clearcache  清理缓存

3、初始化

# comooser init    用于创建新项目的composer.json 

初始化参数:
--name: 包的名称。
--description: 包的描述。
--author: 包的作者。
--homepage: 包的主页。
--require: 需要依赖的其它包,必须要有一个版本约束。并且应该遵循 foo/bar:1.0.0 这样的格式。
--require-dev: 开发版的依赖包,内容格式与 --require 相同。
--stability (-s): minimum-stability 字段的值。

4、创建新项目 
以 yii2框架为例:在https://packagist.org 上查询到此项目名称为 “yiisoft/yii2”

例: 在/home/wwwroot/下 安装yii2项目并重命名为 yii-blog
# cd /home/wwwroot/
# composer create-project --prefer-dist yiisoft/yii2 yii-blog

注: create-project 相当于git clone,也可以指定版本号

5、安装命令install
大多时候我们git克隆过来的项目是没有vendor目录的,这就需要我们进行安装,根据项目根目录下的composer.json.lock文件进行下载插件,此文件里指定了包的名称、下载地址、版本号等

# composer install    安装所有composer.json.lock文件里指定的插件包

常用安装参数
--prefer-dist  composer将尽可能的从dist获取,这将大幅度的加快在 build servers 上的安装。这也是一个回避 git 问题的途径,如果你不清楚如何正确的设置

--prefer-source   下载包的方式有两种:source和dist。对于稳定版本 composer 将默认使用 dist 方式。而 source 表示版本控制源 。如果 --prefer-source 是被启用的,composer 将从 source 安装(如果有的话)。如果想要使用一个 bugfix 到你的项目,这是非常有用的。并且可以直接从本地的版本库直接获取依赖关系。
--dry-run: 如果你只是想演示而并非实际安装一个包,你可以运行 --dry-run 命令,它将模拟安装并显示将会发生什么。 --dev: 安装 require-dev 字段中列出的包(这是一个默认值)。 --no-dev: 跳过 require-dev 字段中列出的包。 --no-scripts: 跳过 composer.json 文件中定义的脚本。 --no-plugins: 关闭 plugins。 --no-progress: 移除进度信息,这可以避免一些不处理换行的终端或脚本出现混乱的显示。 --optimize-autoloader (-o): 转换 PSR-0/4 autoloading 到 classmap 可以获得更快的加载支持。特别是在生产环境下建议这么做,但由于运行需要一些时间,因此并没有作为默认值。

6、更新包:update

为了获取依赖的最新版本,并且升级 composer.lock 文件

# composer update

这将解决项目的所有依赖,并将确切的版本号写入 composer.lock。如果你只是想更新几个包,你可以像这样分别列出它们

# composer update vendor/package vendor/package2

你还可以使用通配符进行批量更新:

composer update vendor/*

 常用更新参数
--prefer-source: 当有可用的包时,从 source 安装。
--prefer-dist: 当有可用的包时,从 dist 安装。
--dry-run: 模拟命令,并没有做实际的操作。
--dev: 安装 require-dev 字段中列出的包(这是一个默认值)。
--no-dev: 跳过 require-dev 字段中列出的包。
--no-scripts: 跳过 composer.json 文件中定义的脚本。
--no-plugins: 关闭 plugins。
--no-progress: 移除进度信息,这可以避免一些不处理换行的终端或脚本出现混乱的显示。
--optimize-autoloader (-o): 转换 PSR-0/4 autoloading 到 classmap 可以获得更快的加载支持。特别是在生产环境下建议这么做,但由于运行需要一些时间,因此并没有作为默认值。
--lock: 仅更新 lock 文件的 hash,取消有关 lock 文件过时的警告。
--with-dependencies 同时更新白名单内包的依赖关系,这将进行递归更新。

7、申明依赖包:require 
require 命令增加新的依赖包到当前目录的 composer.json 文件中

# composer require endroid/qrcode  安装一个包
# composet remove  endroid/qrcode  卸载依赖, (然后手工删除下载的相关包)

也可以指定版本号
# 指定版本

composer require monolog/monolog 1.24.0

# 版本范围

# 有效的运算符有 >、>=、<、<=、!=,运算符中间使用逗号隔开视作逻辑AND,使用|隔开,视作逻辑OR,AND的优先级更高

# 支持通配符 * 

# 支付波浪号运算符 ~ 限定在最低版本和下一个重要版本更新之前

# 以下都是有效的版本号

# 版本大于等于1.0    >=1.0                

# 版本大于等于1.0并且小于2.0    >=1.0,<2.0  

# 版本大于等于1.0并且小于1.1,或者版本大于等于1.2

>=1.0,<1.1|>=1.2  # 相当于>=1.0,<1.1

1.0.* 

# 相当于>=1.2,<2.0

~1.2

# 相当于>=1.2.3,<1.3

~1.2.3

# 相当于>=1.2.3,<2.0.0  在多于2位的版本号的时候跟 ~ 有区别

^1.2.3

常用参数
--prefer-source: 当有可用的包时,从 source 安装。
--prefer-dist: 当有可用的包时,从 dist 安装。
--dev: 安装 require-dev 字段中列出的包。
--no-update: 禁用依赖关系的自动更新。
--no-progress: 移除进度信息,这可以避免一些不处理换行的终端或脚本出现混乱的显示。
--update-with-dependencies 一并更新新装包的依赖。

8、删除指定包:remove
删除此包后,对应的composer.json 和composer.json.lock文件也会改变

# composet remove  endroid/qrcode  卸载依赖, (然后手工删除下载的相关包)

9、配置 config

# config [options] [setting-key] [setting-value1] ... [setting-valueN]

setting-key 是一个配置选项的名称,setting-value1 是一个配置的值。可以使用数组作为配置的值(像 github-protocols),多个 setting-value 是允许的

参数:
--global (-g): 操作位于 $COMPOSER_HOME/config.json 的全局配置文件。如果不指定该参数,此命令将影响当前项目的 composer.json 文件,或 --file 参数所指向的文件。
--editor (-e): 使用文本编辑器打开 composer.json 文件。默认情况下始终是打开当前项目的文件。当存在 --global 参数时,将会打开全局 composer.json 文件。
--unset: 移除由 setting-key 指定名称的配置选项。
--list (-l): 显示当前配置选项的列表。当存在 --global 参数时,将会显示全局配置选项的列表。
--file="..." (-f): 在一个指定的文件上操作,而不是 composer.json。注意:不能与 --global 参数一起使用。

 

四、安装Laravel6.x

说明: php版本必须大于7.1。最好大于7.2

安装laravel分两种方式、

方法一:使用laravel安装器安装
1、安装laravel安装器

# cd /root/.config/composer/   必须进入此目录
# composer global require "laravel/installer"   安装laravel安装器
给与部分目录写入权限
# chomd -R 777  ./vendor/laravel/installer/laravel
# chomd -R 777  ./vendor/bin/laravel

2、添加laravel环境变量

# vim  /etc/profile
# //添加以下到末尾
PATH=$PATH:$HOME/.config/composer/vendor/bin
export PATH
因为我们服务器已经配置过,因此只需要把 :$HOME/.config/composer/vendor/bin 添加最后即可如下:
export PATH=$PATH:/usr/local/nginx/sbin:/usr/local/mysql/bin:/usr/local/php/bin:/usr/local/git/bin:$HOME/.config/composer/vendor/bin

//重启
source /etc/profile

3、使用new创建项目(laravel框架)

# cd /home/wwwroot/
# laravel new  blog-new

则在/home/wwwroot/下就创建了 blog-new项目,这就是最新的laravel框架。

方法二:直接使用composer的create-project命令创建
 

1、在composer资源站:https://packagist.org  查询‘laravel’关键字
Composer安装+ laravel6.x项目搭建_第7张图片

2、下载laravel最新版框架

#下载最新版框架,并指定项目名称为 blog
# cd /home/wwwroot/
# composer create-project --prefer-dist laravel/laravel blog  

(不指定版本号,默认下载的是最新版本,如果需要指定版本号,使用如下方法)
# composer create-project --prefer-dist laravel/laravel blog "v5.8.0"  
或者
# composer create-project --prefer-dist laravel/laravel blog "5.8"
即可

最后出现:

Composer安装+ laravel6.x项目搭建_第8张图片

OK 框架下载完成。

你可能感兴趣的:(Linux)