Composer更新慢的终极解决方案-转
转自:http://blog.csdn.net/fishermanmax/article/details/51975692
Packagist 镜像
请各位使用本镜像的同学注意:
本镜像已经依照 composer 官方的数据源安全策略完全升级并支持 https 协议!请各位同学 按照下面所示的两个方法将 http://packagist.phpcomposer.com
修改为https://packagist.phpcomposer.com
还没安装 Composer 吗?请往下看如何安装 Composer 。
用法:
有两种方式启用本镜像服务:
- 系统全局配置: 即将配置信息添加到 Composer 的全局配置文件
config.json
中。见“例1” - 单个项目配置: 将配置信息添加到某个项目的
composer.json
文件中。见“例2”
例1:修改 composer 的全局配置文件(推荐方式)
打开命令行窗口(windows用户)或控制台(Linux、Mac 用户)并执行如下命令:
composer config -g repo.packagist composer https://packagist.phpcomposer.com
例2:修改当前项目的 composer.json
配置文件:
打开命令行窗口(windows用户)或控制台(Linux、Mac 用户),进入你的项目的根目录(也就是composer.json
文件所在目录),执行如下命令:
composer config repo.packagist composer https://packagist.phpcomposer.com
上述命令将会在当前项目中的 composer.json
文件的末尾自动添加镜像的配置信息(你也可以自己手工添加):
"repositories": {
"packagist": {
"type": "composer",
"url": "https://packagist.phpcomposer.com"
}
}
以 laravel 项目的 composer.json
配置文件为例,执行上述命令后如下所示(注意最后几行):
{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"type": "project",
"require": {
"php": ">=5.5.9",
"laravel/framework": "5.2.*"
},
"require-dev": {
"fzaninotto/faker": "~1.4",
"mockery/mockery": "0.9.*",
"phpunit/phpunit": "~4.0",
"symfony/css-selector": "2.8.*|3.0.*",
"symfony/dom-crawler": "2.8.*|3.0.*"
},
"autoload": {
"classmap": [
"database"
],
"psr-4": {
"App\\": "app/"
}
},
"autoload-dev": {
"classmap": [
"tests/TestCase.php"
]
},
"scripts": {
"post-root-package-install": [
"php -r \"copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
"php artisan key:generate"
],
"post-install-cmd": [
"php artisan clear-compiled",
"php artisan optimize"
],
"pre-update-cmd": [
"php artisan clear-compiled"
],
"post-update-cmd": [
"php artisan optimize"
]
},
"config": {
"preferred-install": "dist"
},
"repositories": {
"packagist": {
"type": "composer",
"url": "https://packagist.phpcomposer.com"
}
}
}
OK,一切搞定!试一下 composer install
来体验飞一般的速度吧!
镜像说明:
一般情况下,安装包的数据(主要是 zip 文件)一般是从 github.com
上下载的,安装包的元数据是从packagist.org
上下载的。
然而,由于众所周知的原因,国外的网站连接速度很慢,并且随时可能被“墙”甚至“不存在”。
“Packagist 中国全量镜像”所做的就是缓存所有安装包和元数据到国内的机房并通过国内的 CDN 进行加速,这样就不必再去向国外的网站发起请求,从而达到加速 composer install
以及 composer update
的过程,并且更加快速、稳定。因此,即使 packagist.org
、github.com
发生故障(主要是连接速度太慢和被墙),你仍然可以下载、更新安装包。
如何安装 Composer
打开命令行并执行下列命令安装最新版本的 Composer (以下指令摘自 https://getcomposer.org/download/ ,请前往查看最新的安装指令):
php -r "readfile('https://getcomposer.org/installer');" > composer-setup.php
php composer-setup.php
php -r "unlink('composer-setup.php');"
执行第一条命令下载下来的 composer-setup.php
脚本将简单的检测 php.ini
中的参数设置,如果某些参数未正确设置则会给出警告;然后下载最新版本的 composer.phar
文件到当前目录。
上述 3 条命令的作用依次是:
- 下载安装脚本(
composer-setup.php
)到当前目录。 - 执行安装过程。
- 删除安装脚本 --
composer-setup.php
。
局部安装
上述下载 Composer 的过程正确执行完毕后,可以将 composer.phar
文件复制到任意目录(比如项目根目录下),然后通过 php composer.phar
指令即可使用 Composer 了!
全局安装
全局安装是将 Composer 安装到系统环境变量 PATH
所包含的路径下面,然后就能够在命令行窗口中直接执行 composer
命令了。
Mac 或 Linux 系统:打开命令行窗口并执行如下命令将前面下载的 composer.phar
文件移动到/usr/local/bin/
目录下面:
sudo mv composer.phar /usr/local/bin/composer
Windows 系统:
- 找到并进入 PHP 的安装目录(和你在命令行中执行的
php
指令应该是同一套 PHP)。 - 将
composer.phar
复制到 PHP 的安装目录下面,也就是和php.exe
在同一级目录。 - 在 PHP 安装目录下新建一个
composer.bat
文件,并将下列代码保存到此文件中。
@php "%~dp0composer.phar" %*
最后重新打开一个命令行窗口试一试执行 composer --version
看看是否正确输出版本号。
最后
提示:不要忘了经常执行
composer selfupdate
以保持 Composer 一直是最新版本哦!
Composer更新慢的终极解决方案-转的更多相关文章
- Composer更新慢的终极解决方案
Packagist 镜像 请各位使用本镜像的同学注意: 本镜像已经依照 composer 官方的数据源安全策略完全升级并支持 https 协议!请各位同学 按照下面所示的两个方法将 还没安装 Com ...
- Sqlite && EF Code FIRST 终极解决方案 2019.5.17
Sqlite && EF Code FIRST 终极解决方案 2019.5.17 包括根据模型自动生成数据库,初始化数据,模型改变时的自动数据迁移等 2019.12.25 更新 支持E ...
- Eclipse不自动编译java文件的终极解决方案
最近我的eclipse经常犯傻,项目中总是有很多,启动项目也是没有启动类.查了下项目中生成的class文件,我靠竟然没有,或者还是以前的.原来是eclipse犯傻了,它没帮我自动编译java文件.一般 ...
- 【转】JSP中文乱码问题终极解决方案
原文地址:http://blog.csdn.net/beijiguangyong/article/details/7414247 在介绍方法之前我们首先应该清楚具体的问题有哪些,笔者在本博客当中论述的 ...
- Xcode-调试断点不能停在代码区终极解决方案
转发 调试断点不能停在代码区终极解决方案: http://mobile.51cto.com/iphone-390082.htm
- VIM、GVIM在WINDOWS下中文乱码的终极解决方案
文章转自:http://www.liuhuadong.com/archives/68 vim.gvim在windows下中文乱码的终极解决方案在windows下vim的中文字体显示并不好,所以我们需要 ...
- Android大图片裁剪终极解决方案(上:原理分析)
转载声明:Ryan的博客文章欢迎您的转载,但在转载的同时,请注明文章的来源出处,不胜感激! :-) http://my.oschina.net/ryanhoo/blog/86842 约几个月前,我正 ...
- 【原创】CHROME 最小字体限制为12PX的终极解决方案
CHROME 最小字体限制为12PX的终极解决方案 本文由五月雨恋提供,转载请注明出处. 相信不少做网站的用户会有这样一个问题,Chrome 默认最小字体是12px(最新版英文也有此问题),这个是 C ...
- 绝对好文C#调用C++DLL传递结构体数组的终极解决方案
C#调用C++DLL传递结构体数组的终极解决方案 时间 2013-09-17 18:40:56 CSDN博客相似文章 (0) 原文 http://blog.csdn.net/xxdddail/art ...
随机推荐
- 【xsy1301】 原题的价值 组合数+斯特林数+FFT
题目大意:求$n\times2^{\frac{(n-1)(n-2)/2}{2}}\sum\limits_{i=0}^{n-1}\dbinom{n-1}{i}i^k$ 数据范围:$n≤10^9$,$k≤ ...
- 基于FPGA自适应串口通信(Auto Baud Rate)
做的课设,相当于复习了一遍verilog. 实现了 1.接收端固定模式:8N1 BAUD:921600. 2.发送端8N1,任意波特率(不取极端值). 3.数码管显示波特率(16进制). 用了 1.两 ...
- python - scrapy 爬虫框架 ( redis去重 )
1. 使用内置,并加以修改 ( 自定义 redis 存储的 keys ) settings 配置 # ############### scrapy redis连接 ################# ...
- .netcore 打包发布到ubuntu linux上
使用命令行发布如下 cd NetCoreServerOne // project file place 项目文件 所在目录 dotnet build -r ubuntu.16.04-x6 ...
- 46、[源码]-Spring容器创建-注册BeanPostProcessors
46.[源码]-Spring容器创建-注册BeanPostProcessors 6.registerBeanPostProcessors(beanFactory);注册BeanPostProcesso ...
- Linux 查看系统配置参数
原文链接:http://www.cnblogs.com/aric2016/p/10971690.html 查看 cpu信息: cat /proc/cpuinfo 查看内存信息: grep MemTot ...
- docker安装mysql5.7 数据挂载
docker安装mysql5.7,并数据卷挂载到主机 # docker 中下载 mysql docker pull mysql:5.7 #启动 docker run --name mysql3306 ...
- <frame>、<iframe>、<embed>、<object> 和 <applet>
frame frame 必须在 frameset 里,而 frameset 又不能和 body 共存(就是一旦存在 frame,就不能存在 body 了,因此这个基本每人使用) 推荐阅读:https: ...
- 配置Notepad++
Notepad++配置 1.自动换行 视图 - 自动换行 2.隐藏工具栏 设置 - 首选项... > 常用 > 工具栏 - 隐藏 3.隐藏菜单栏 设置 - 首选项... > 常用 & ...
- CF757F Team Rocket Rises Again——最短路+支配树
CF757F Team Rocket Rises Again 全体起立,全体起立,这是我A的第一道黑题(虽然是CF的): 来一波番茄攻击: 不扯淡了,这道题也是学习支配树(之前)应该做的题: 和灾难不 ...