php扩展包启动,Composer 扩展开发:本地运行扩展包

fbd979bca769fdf85656f195eef110ba.png

假设你开发了一个网站,并希望将网站的其中一部分分开独立成为一个包。你新建了一个新的仓库并在开发环境中准备好了,这时候你想看看网站和你自己新的包是怎样整合一起使用的,应该怎样去做呢?

本文将介绍如何使用 Composer 将本地的软件包加入到项目中。通过这种方式,你可以运行存储库的本地副本并测试您所做的任何更改。因为本地仓库会实时同步修改的内容,所以不需要中间提交和更新。

路径形式的仓库

首先,composer.json 文件中添加一个类型为 "path" 的仓库。这样,Composer 就能通过制定的路径(不是 Packagist 仓库的形式)找到依赖的资源。

我本地的开发环境是 Laravel Homestead。我的代码 php-cca 保存在 /home/vagrant/Code/php-cca 路径下,这也是 Composer 的工作目录。

"repositories":[

{

"type": "path",

"url": "/home/vagrant/Code/php-cca"

}

]

当我们下次运行 Composer 时,就会同时从 Packagist 和给定的路径查找依赖的资源。并且路径形式的仓库优先级高于 Packagist。

引入一个开发分支

现在 Composer 知道该怎么加载本地扩展包了,接下来引入一个具体版本。可以使用下面的命令来引入 dev-develop 分支:

composer require barryvanveen/php-cca dev-develop

通过使用上面的命令,可以从 develop 分支下拉取最新版本的代码。同时,也可以很轻松的切换到 dev-master 或者 dev-feature-awesome 分支。

这样,就可以从我们的本地安装最新版本的代码,而不仅是拉取我们提交或标记的版本代码。

Composer 会在控制台输出类似下面的提示:

Package operations: 5 installs, 0 updates, 0 removals

...

- Installing barryvanveen/php-cca (dev-develop): Symlinking from /home/vagrant/Code/php-cca

...

现在,可以直接修改本地代码,并且可以在项目中直接测试,不需要提交或执行 composer update。 是不是非常棒!

当符号链接失败时

当我初次尝试上面我提到的步骤时,他没有成功。 我得到以下错误,声明 Composer 无法创建符号链接。

打包操作: 5 安装, 0 更新, 0 移除

...

- Installing barryvanveen/php-cca (dev-develop): Symlinking from /home/vagrant/Code/php-cca

Symlink failed, fallback to use mirroring!

Mirroring from /home/vagrant/Code/php-cca

经过一番搜索之后, 这个问题是特定出现在运行虚拟机的 Windows 用户中。 Windows 不允许本地管理员创建符号链接。 幸运的是这个可以通过一个单一的更改来解决。

当你启动虚拟机时,请确保你 以管理员身份 执行操作。 就我而言, 我以管理员身份运行 Git Bash , 然后从这里执行 vagrant up ,  这立即解决了问题。

扩展阅读

学习更多关于 Composer repositories 和 aliases 在这些文档中.

Martin Hujer 已经发表了一个博客在 使用 Composer 的22个技巧.

本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接

我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值