想买个外星人台式机新款的台式机电脑吃鸡,问下上海外星人台式机实体专卖店在哪?

最新版 Composer 开始支持本地仓库( local repositories),升级喽! - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
已注册用户请 &
Sponsored by
UCloud 再获 9.6 亿元 D 轮融资,有钱、任性、撒福利!爆款云主机,2核 / 2G / 2M 独享带宽 / 50G 高性能云盘,低至 99 元/月,且优惠补贴期长达 1 年!V2EX 社区用户使用活动码 v2ex-ucloud 注册 UCloud,再送 100 元代金券!
Promoted by
最新版 Composer 开始支持本地仓库( local repositories),升级喽!
19:06:41 +08:00 · 1928 次点击
消息来源:
& & 22:25:50 +08:00
中国镜像有缓存的问题,原始镜像又太慢, 有时候真想把 vendor 加入到版本控制里面,不过现在好了,不用最好的开发语言了,轻松多了。
& & 22:37:57 +08:00
问楼主一个问题呢, 我就是那个把 vendor 添加到版本控制里面的做法.
现在 通过 composer 引入本地 vcs 的方式添加本地包, composer require 过来 总会带上.git
有办法不更新到 .git 文件夹吗
& · & 2141 人在线 & 最高记录 2607 & · &
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.7.5 · 49ms · UTC 05:01 · PVG 13:01 · LAX 22:01 · JFK 01:01? Do have faith in what you're doing.12492人阅读
我们经常要往现有的项目中添加扩展包,有时候因为文档的错误引导,如下图来自 这个文档 的:
composer update 这个命令在我们现在的逻辑中,可能会对项目造成巨大伤害。
因为 composer update 的逻辑是按照 composer.json 指定的扩展包版本规则,把所有扩展包更新到最新版本,注意,是 所有扩展包,举个例子,你在项目一开始的时候使用了 monolog,当时的配置信息是
"monolog/monolog": "1.*",
安装的是 monolog 1.1 版本,而一个多月以后的现在,monolog 已经是 1.2 了,运行命令后直接更新到 1.2,这时项目并没有针对 1.2 进行过测试,项目一下子变得很不稳定,情况有时候会比这个更糟糕,尤其是在一个庞大的项目中,你没有对项目写完整覆盖测试的情况,什么东西坏掉了你都不知道。
那应该使用哪个命令呢?install, update 还是 require ?
接下来我们一一解释。
composer install - 如有 composer.lock 文件,直接安装,否则从 composer.json 安装最新扩展包和依赖;
composer update - 从 composer.json 安装最新扩展包和依赖;
composer update vendor/package - 从 composer.json 或者对应包的配置,并更新到最新;
composer require new/package - 添加安装 new/package, 可以指定版本,如: composer require new/package ~2.5.
下来介绍几个日常生产的流程,来方便加深大家的理解。
流程一:新项目流程
创建 composer.json,并添加依赖到的扩展包;
运行 composer install,安装扩展包并生成 composer.lock;
提交 composer.lock 到代码版本控制器中,如:
流程二:项目协作者安装现有项目
克隆项目后,根目录下直接运行 composer install 从 composer.lock 中安装 指定版本 的扩展包以及其依赖;
此流程适用于生产环境代码的部署。
流程三:为项目添加新扩展包
使用 composer require vendor/package 添加扩展包;
提交更新后的 composer.json 和 composer.lock 到代码版本控制器中,如:
关于 composer.lock 文件
composer.lock 文件里保存着对每一个代码依赖的版本记录(见下图),提交到版本控制器中,并配合composer install 使用,保证了团队所有协作者开发环境、线上生产环境中运行的代码版本的一致性。
关于扩展包的安装方法
那么,准备添加一个扩展包,install, update, require 三个命令都可以用来安装扩展包,选择哪一个才是正确的呢?
答案是:使用 composer require 命令
另外,在手动修改 composer.json 添加扩展包后,composer update new/package 进行指定扩展包更新的方式,也可以正确的安装,不过不建议使用这种方法,因为,一旦你忘记敲定后面的扩展包名,就会进入万劫不复的状态,别给自己留坑呀。
上面的概念不论对新手或者老手来说,都比较混淆,主要记住这个概念:
原有项目新添加扩展的,都使用 composer require new/package 这种方式来安装。
需要加版本的话
composer require "foo/bar:1.0.0"
更新指定扩展到指定版本
有时候你之前使用过的扩展包,加入了新功能,你想更新单独这个扩展包到指定版本,也可以使用 require 来操作。
如下面例子,需要更新 “sami/sami”: “3.0.” 到 “sami/sami”: “3.2.”
命令行运行:
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:43933次
排名:千里之外
原创:59篇
(2)(9)(11)(3)(5)(7)(7)(2)(2)(1)(1)(14)(3)如何为我的框架自定义一个资源包安装目录? | Composer 中文文档 | Composer 中文网
如何为我的框架自定义一个资源包安装目录?
每个框架都可能有一个或多个不同的依赖包安装目录。Composer 可以通过使用
来配置,安装依赖到其它的目录,而不是默认的 vendor 目录。
如果你是一个 包作者 并且希望自己的资源包被安装到自定义的目录中,简单的 require composer/installers 依赖,并设置适当的 type 属性。这是常见的方式,如果你的资源包专门用于一个框架,如 CakePHP、Drupal 或 WordPress。这是一个 WordPress 主题的 composer.json 文件的例子:
&name&: &you/themename&,
&type&: &wordpress-theme&,
&require&: {
&composer/installers&: &~1.0&
现在当你用 Composer 安装这个主题时,它就会被放置在 wp-content/themes/themename/ 目录。目前已被支持的 type 类型请查看 。
对于一个 包使用者 你可以为一个包设置或覆盖安装路径,requires composer/installers 并在 extra 下设置 installer-paths 属性。Drupal 的多站点设置就是一个很好的例子,其中的资源包应该被安装到各自网站的子目录。在这里我们使用 composer/installers 来覆盖安装路径:
&extra&: {
&installer-paths&: {
&/modules/{$name}&: [&vendor/package&]
现在该资源包将被安装到你指定的目录,并替换 $name 变量,而不是默认目录。
注意: 你不能通过它改变所有包的安装目录。这仅适用于引入 composer/installers 依赖,自定义了 type 属性的资源包。
如果您发现文档中有错误,或者能够帮我们完善文档,请提交到我们的 !
Composer 以及本网站上的所有内容全部遵循 。Composer 是PHP中用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer会帮你安装这些依赖的库文件。
系统需求:
Composer 需要PHP5.3.2+ 以上的环境来运行。
Composer 是PHP中用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(libraries),Composer会帮你安装这些依赖的库文件。
系统需求:
Composer 需要PHP5.3.2+ 以上的环境来运行。有几个敏感的PHP设置和编译标志也是必需的,但安装程序会发出警告当存在任何不兼容的情况。比如PHP的扩展的要求是,安装或重新编译php without –disable-phar
Composer 是兼容多平台的,其运行适用于Windows,Linux和OSX。
这个命令会将 composer.phar 下载到当前目录。
curl -sS https:
你可以使用 --install-dir 选项将 Composer 安装到指定的目录,例如:
curl -sS https:
当然也可以进行全局安装:
curl -sS https:
mv composer.phar /usr/local/bin/composer
OSX安装(非全局)
brew tap josegonzalez/homebrew-php
brew install josegonzalez/php/composer
不过通常情况下只需将 composer.phar 的位置加入到 PATH 环境变量就可以,不一定要全局安装。安装完成后,检查安装版本。
Composer中国镜像
使用本镜像服务就意味着下载的所有的安装包元数据都将来自本镜像服务,而不再向 packagist.org 发起请求。这将加速 Composer 的安装过程,并且更加可靠、快速。(由于众所周知的原因,国外的网站连接速度太慢,并且随时可能被墙)
一般情况下,安装包的数据(zip 文件等)一般是从 GitHub 或其他第三方服务器上下载的,使用本镜像服务后,我们会缓存所有安装包到国内的机房,这样就不必再去向国外的网站发起请求,因此,即使 packagist.org、 或其他第三方服务发生故障(主要是连接速度太慢和被墙),你仍然可以下载、更新安装包。
启用本镜像服务: 将以下配置信息添加到 Composer 的配置文件 config.json中(系统全局配置)
查看 composer 主目录:通过 composer config -l -g 命令可以列出 composer 的全局配置信息,在这些信息中查找 [home] 配置项就是 composer 的主目录。Linux 用户请执行 sudo composer config -l -g 命令。
进入 composer 的主目录,打开 config.json 文件(如果没有就自己创建一个),然后增加本镜像服务的配置信息,最终内容如下:
"config": {
"repositories": [
{"type": "composer", "url": "/repo/packagist/"},
{"packagist": false}
在项目目录下创建一个composer.json文件,指明依赖,比如,你的项目依赖 :将中国镜像配置信息添加到你的项目的composer.json 文件中(针对单个项目配置)
"require": {
"monolog/monolog": "1.2.*"
安装依赖非常简单,只需在项目目录下运行:
composer install
composer update
如果没有全局安装的话,则运行:
php composer.phar install
Composer提供了自动加载的特性,只需在你的代码的初始化部分中加入下面一行:
require 'vendor/autoload.php';
下载安装成功界面
Composer是PHP中的一个依赖关系管理工具。通过Composer我们可以在发布软件时节省大量的文件数目和控制依赖包的版本。
Composer中文网:
Composer Github项目:
PHP Composer软件包列表:
用云栖社区APP,舒服~
【云栖快讯】首届阿里巴巴中间件技术峰会,揭秘阿里10年分布式技术沉淀!阿里高可用体系核心缔造者、全链路压测创始人,DRDS与TDDL负责人等大咖出场,干货分享,不可错过!&&
一种稳定、可靠、容量和服务能力可弹性伸缩的分布式关系型数据库服务。
一款安全易用的管理类服务。您无需花费大量成本来保护密钥的保密性、完整性和可用性,借助密钥管理服务,您可以安全、便...
支持MySQL、SQL Server、PostgreSQL、MongoDB、Redis等关系型数据库和NoSQL...
为您提供简单高效、处理能力可弹性伸缩的计算服务,帮助您快速构建更稳定、安全的应用,提升运维效率,降低 IT 成本...
2017杭州云栖大会火热抢票
Loading...在php项目中引入一个第三方类库,用git还是用composer的方式好? - 知乎5被浏览338分享邀请回答03 条评论分享收藏感谢收起与世界分享知识、经验和见解

我要回帖

更多关于 外星人电脑台式机配置 的文章

 

随机推荐