composer 依赖管理 + 创建 laravel 项目

来源:互联网 发布:刺身 寄生虫 知乎 编辑:程序博客网 时间:2024/05/01 15:10

安装


全局安装(推荐)

curl -sS https://getcomposer.org/installer | php mv composer.phar /usr/local/bin/composer

composer selfupdate 更新至稳定版

使用 Composer 镜像加速
全局配置(推荐)
composer config -g repo.packagist composer https://packagist.phpcomposer.com


必须在 composer.json 文件所在的目录执行。相当于在 composer.json 文件的末尾自动添加镜像的配置信息

"repositories": {    "packagist": {        "type": "composer",        "url": "https://packagist.phpcomposer.com"    } }

$ composer config -g repo.packagist composer https://packagist.laravel-china.org
常见问题#
已存在 composer.lock 文件,先删除,再运行 composer install 重新生成。原因:composer.lock 缓存了之前的配置信息,从而导致新的镜像配置无效。也直接用 composer create-project laravel/laravel xxx 新建工程。


1.下载安装脚本 - composer-setup.php - 到当前目录。
php -r “copy(‘https://install.phpcomposer.com/installer‘, ‘composer-setup.php’);”
2.执行安装过程。
php composer-setup.php
3.删除安装脚本。
php -r “unlink(‘composer-setup.php’);”

下载安装包到当前目录
验证安装包SHA-384
运行安装包
删除安装包

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"php -r "if (hash_file('SHA384', 'composer-setup.php') === '669656bab3166a7aff8a7506b8cb2d1c292f042046c5a994c43155c0be6190fa0355160742ab2e1c88d40d5be660b410') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"php composer-setup.phpphp -r "unlink('composer-setup.php');"

安装选项
安装路径 –install-dir=bin
php composer-setup.php –install-dir=bin
文件名称 –filename (默认default)
php composer-setup.php –filename=composer
版本 –version
php composer-setup.php –version=1.0.0-alpha8

Linux/Mac下安装Composer:
wget https://dl.laravel-china.org/composer.phar -O /usr/local/bin/composer
chmod a+x /usr/local/bin/composer
如遇权限不足,添加 sudo。

手动安装 Composer :
curl -s https://getcomposer.org/composer.phar -o HOME/local/bin/composerchmod+xHOME/local/bin/composer

composer 命令后面加上 -vvv (是3个v)可以打印出调错信息,命令如下:
composervvvcreateprojectlaravel/laravelblog composer -vvv require psr/log
例子

touch composer.json // 新建文件vim composer.json // 编辑文件{    "require": {        "monolog/monolog": "1.0.*"    }}composer install // 安装依赖

commit your composer.lock to Version Control
确保每个人的工程都使用完全相同的版本依赖。
composer update 相当于删除 composer.lock 然后执行install
更新某个依赖
composer update monolog/monolog […]

自动加载依赖
require ‘vendor/autoload.php’;

定义你自己的包

{    "name": "your-vendor-name/package-name",    "description": "A short description of what your package does",    "require": {        "php": "^5.3.3 || ^7.0",        "another-vendor/package": "1.*"    }}

LARAVEL

composer create-project laravel/laravel xxx或laravel new xxx

指定 Web 服务器的网站根目录到 public 文件夹上
storage 和 bootstrap/cache 目录必须让服务器有写入权限
如果没有 .env,记得cp .env.example .env

Laravel报错
The only supported ciphers are AES-128-CBC and AES-256-CBC with the correct key lengths.
在项目根目录下输入 php artisan key:generate 生成APP_KEY
除‘/’外所有路由404
location / {
try_files uriuri/ /index.php?$query_string;
}