Yii2 & Composer - 我如何在本地拉取 1 个包,忽略 packagist
Yii2 & Composer - How do I pull locally for 1 package, ignoring packagist
我想玩转我目前在 Github/Packagist 上的一个回购协议。实际上,我想把它变成一个 Yii2 扩展。我不想遵循 git 添加、git 提交、git 推送、作曲家更新、圈子。我想绕过 Github/Packagist 并仅使用本地资源。我希望它表现得就像我的包裹在 Packagist 上不存在一样。
我使用的是 Yii2,所以它有自己的 composer.json 文件。所以他们仍然需要工作,只是为我的 1 个包使用不同的来源。
当然,默认的 Yii2 composer require 块:
"require": {
"php": ">=5.4.0",
"yiisoft/yii2": ">=2.0.6",
"yiisoft/yii2-bootstrap": "*",
"yiisoft/yii2-swiftmailer": "*",
"wadeshuler/my-package" : "*" // <-- needs to pull from local
},
那么你有我的包的作曲家:
"autoload": {
"psr-4": {
"wadeshuler\Package\": "src/"
}
}
同样,我想告诉 Yii2 composer.json 在本地加载我的包并忽略 Packagist。
显然,Composer 比我认为的更聪明:)
我正在尝试各种额外的东西,当时它真的很简单,而且就在我面前。
Composer 会自动选择您的本地包(如果存在)。
所以在我的 Yii2 composer.json 中,添加一个存储库块:
"repositories": [
{
"type": "path",
"url": "../My-Package"
}
],
并正常要求它:
"require": {
"php": ">=5.4.0",
"yiisoft/yii2": ">=2.0.6",
"yiisoft/yii2-bootstrap": "*",
"yiisoft/yii2-swiftmailer": "*",
"wadeshuler/my-package": "*" // <-- My-Package
},
即使我的包在 GitHub 上,Composer 神奇地知道我想使用本地源:)
我想玩转我目前在 Github/Packagist 上的一个回购协议。实际上,我想把它变成一个 Yii2 扩展。我不想遵循 git 添加、git 提交、git 推送、作曲家更新、圈子。我想绕过 Github/Packagist 并仅使用本地资源。我希望它表现得就像我的包裹在 Packagist 上不存在一样。
我使用的是 Yii2,所以它有自己的 composer.json 文件。所以他们仍然需要工作,只是为我的 1 个包使用不同的来源。
当然,默认的 Yii2 composer require 块:
"require": {
"php": ">=5.4.0",
"yiisoft/yii2": ">=2.0.6",
"yiisoft/yii2-bootstrap": "*",
"yiisoft/yii2-swiftmailer": "*",
"wadeshuler/my-package" : "*" // <-- needs to pull from local
},
那么你有我的包的作曲家:
"autoload": {
"psr-4": {
"wadeshuler\Package\": "src/"
}
}
同样,我想告诉 Yii2 composer.json 在本地加载我的包并忽略 Packagist。
显然,Composer 比我认为的更聪明:)
我正在尝试各种额外的东西,当时它真的很简单,而且就在我面前。
Composer 会自动选择您的本地包(如果存在)。
所以在我的 Yii2 composer.json 中,添加一个存储库块:
"repositories": [
{
"type": "path",
"url": "../My-Package"
}
],
并正常要求它:
"require": {
"php": ">=5.4.0",
"yiisoft/yii2": ">=2.0.6",
"yiisoft/yii2-bootstrap": "*",
"yiisoft/yii2-swiftmailer": "*",
"wadeshuler/my-package": "*" // <-- My-Package
},
即使我的包在 GitHub 上,Composer 神奇地知道我想使用本地源:)