suchen
HeimEntwicklungswerkzeugecomposerErfahren Sie, wie Sie ein Composer-Paket von Grund auf erstellen und veröffentlichen

怎么发布composer包?下面本篇文章就来带大家了解一下怎么从0创建并发布一个composer包,希望对大家有所帮助!

Erfahren Sie, wie Sie ein Composer-Paket von Grund auf erstellen und veröffentlichen

一、准备工作

  • 注册并登录github账户,github.com

  • 安装好git软件:

  • 注册登录packagist账户:packagist.org/

二、创建线上仓库

1.打开github,点击右上角加号,选择new repository

Erfahren Sie, wie Sie ein Composer-Paket von Grund auf erstellen und veröffentlichen

2.而后,进行相关设置,如下图:

Erfahren Sie, wie Sie ein Composer-Paket von Grund auf erstellen und veröffentlichen

这里需要输入项目名称,描述,是否公开,是否初始化readme,git忽略文件,以及开源协议等信息。

3.拉取线上仓库到本地

完成上面的操作化,会成功后会跳转到仓库页面。

Erfahren Sie, wie Sie ein Composer-Paket von Grund auf erstellen und veröffentlichen

  • 然后点击右侧的code按钮,然后再点击复制此仓库的git地址。
  • 回到本地,打开git软件,运行clone命令拉取
git clone https://github.com/china-li-shuo/oss-sdk.git

三、composer 初始化

1、先进入项目目录,在git中命令

cd oss-sdk/

2、然后运行初始化命令

composer init

Erfahren Sie, wie Sie ein Composer-Paket von Grund auf erstellen und veröffentlichen

详细设置见上图。

注意:package type :library是仓库,对应提交后的require命令,project是项目,下载后直接能跑起来的,对应create-project命令。

3. 配置autoload

初始化完毕后,打开本地的composer.json文件夹可以进行修改。 附上我的composer.json文件,上面有详细注释

{
    "name": "china-li-shuo/oss-sdk", #包名称
    "description": "Alibaba cloud, Tencent cloud, qiniu cloud, object storage",#包描述信息
    "type": "library",#类型,可选e.g. library, project, metapackage, composer-plugin
    "license": "MIT",#开源协议
    "authors": [
        {
            "name": "china-li-shuo",#作者
            "email": "676050059@qq.com"#邮箱
        }
    ],
    "require": { # 需要安装的扩展
        "php": ">=7.1.0",
        "qcloud/cos-sdk-v5": ">=2.0",
        "aliyuncs/oss-sdk-php": "^2.4.0",
        "phpunit/phpunit": "^5.0|^6.0",
        "qiniu/php-sdk": "^7.3"
    },
    "autoload": { # 自动加载: 注意了, 这里有 psr-4, psr-2 多种规范, 并且,注意目录和命名空间
        "psr-4": {
            "lishuo\": "src"
        }
    }
}

更改完毕后进行保存,而后运行命令重新载入。

composer dump-autoload

Erfahren Sie, wie Sie ein Composer-Paket von Grund auf erstellen und veröffentlichen

四、创建基本包代码

这里对应上面的autoload->psr-4里面的配置,还有flies配置 先创建一个src目录

Erfahren Sie, wie Sie ein Composer-Paket von Grund auf erstellen und veröffentlichen

五、提交到github仓库

1. 切换到本地目录

cd oss-sdk

2.然后运行命令git add .命令,把文件提交到本地仓库

git add .

3.然后git commit -m 添加提交注释

git commit -m '第一个composer包'

4.然后git push进行提交,把文件提交到github

git push

Erfahren Sie, wie Sie ein Composer-Paket von Grund auf erstellen und veröffentlichen

报错:

$ git push origin master fatal: unable to access 'github.com/china-li-sh…': OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054

参考资料:https://blog.csdn.net/weixin_41010198/article/details/119698015

https://blog.csdn.net/u013894429/article/details/78960813

六、提交到packagist

  1. 打开github项目地址,复制网址:如github.com/china-li-sh…

Erfahren Sie, wie Sie ein Composer-Paket von Grund auf erstellen und veröffentlichen

  1. 然后把github项目地址粘贴到框中

Erfahren Sie, wie Sie ein Composer-Paket von Grund auf erstellen und veröffentlichen

点击提交,如果有重名的会提示,不用管直接点submit

Erfahren Sie, wie Sie ein Composer-Paket von Grund auf erstellen und veröffentlichen

看到下图,就成功了。

可以复制命令试一下是否能成功。

1Erfahren Sie, wie Sie ein Composer-Paket von Grund auf erstellen und veröffentlichen

执行composer require china-li-shuo/oss-sdk不成功,说明你的包没有版本号, 你的包要进行发布版本信息,也就是说你的github仓库要新增tag标签就行了。

发布版本参考链接:https://juejin.cn/post/6938227254191194120#heading-7

1Erfahren Sie, wie Sie ein Composer-Paket von Grund auf erstellen und veröffentlichen

七、composer更换镜像源

更换镜像:

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

查看composer配置

composer config -l -g

初始化配置(无需运行)

composer config -g --unset repos.packagist

更多编程相关知识,请访问:编程教学!!

Das obige ist der detaillierte Inhalt vonErfahren Sie, wie Sie ein Composer-Paket von Grund auf erstellen und veröffentlichen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Dieser Artikel ist reproduziert unter:掘金社区. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
Effektiv verwalten veralteten Code: VerwendenEffektiv verwalten veralteten Code: VerwendenApr 18, 2025 am 07:33 AM

Bei der Entwicklung von Projekten stoßen Sie häufig auf einen veralteten Code. Obwohl diese Codes noch ausgeführt werden können, können sie in zukünftigen Versionen entfernt oder geändert werden. Wenn diese veralteten Codes nicht rechtzeitig verarbeitet werden, kann dies während des Upgrades Probleme verursachen. Ich habe dies in einem Projekt begegnet, das die Funktion nach dem Upgrade fehlgeschlagen hat. Glücklicherweise habe ich dieses Problem erfolgreich gelöst, indem ich Symfony's Depresscontracts Library verwendet habe.

Praktische Erfahrung in der Erstellung effizienter Befehlszeilenschnittstellen mithilfe der Symfony/Console -BibliothekPraktische Erfahrung in der Erstellung effizienter Befehlszeilenschnittstellen mithilfe der Symfony/Console -BibliothekApr 18, 2025 am 07:30 AM

In der Projektentwicklung ist es häufig erforderlich, Befehlszeilen-Tools zu erstellen, um die täglichen Aufgaben zu vereinfachen oder Prozesse zu automatisieren. Das Erstellen einer Befehlszeilenschnittstelle, die schön und leicht zu testen ist, ist jedoch nicht einfach. Vor kurzem habe ich dieses Problem gestoßen, als ich ein Projekt entwickelt habe, für das Befehlszeilen -Tools erforderlich sind. Nach einiger Erkundung fand ich die Symfony/Console -Bibliothek, die den Erstellungsprozess von Befehlszeilenschnittstellen erheblich vereinfacht.

Vereinfachen Sie die asynchrone Programmierung mit Komponist: Anwendung von Guzzle -PromisesVereinfachen Sie die asynchrone Programmierung mit Komponist: Anwendung von Guzzle -PromisesApr 18, 2025 am 07:27 AM

Ich habe ein schwieriges Problem, wenn ich mich mit einem Projekt befasse, das eine große Anzahl von asynchronen Anfragen effizient behandeln muss: wie man diese Anfragen behandelt, ohne das Programm zu blockieren. Nachdem ich mehrere Methoden ausprobiert hatte, stellte ich fest, dass die Verwendung der Bizzle -Bibliothek dieses Problem perfekt lösen kann. Es macht den Code nicht nur lesbarer, sondern verbessert auch die Leistung des Programms erheblich.

Online -Benachrichtigungen machen es einfach: Verwenden Sie das Toast -Plugin von YII2, um die Benutzererfahrung zu verbessernOnline -Benachrichtigungen machen es einfach: Verwenden Sie das Toast -Plugin von YII2, um die Benutzererfahrung zu verbessernApr 18, 2025 am 07:24 AM

Bei der Entwicklung eines YII2-Projekts, bei dem es sich um Echtzeit-Benachrichtigungen handelt, habe ich ein Problem gestoßen: So präsentieren Sie Benutzermeldungen und Benachrichtigungen den Benutzern effizient. Die herkömmlichen Pop-up-Fenster und Eingabeaufentwicklungsboxen sind nicht effektiv genug und die Benutzererfahrung ist schlecht. Nach einigen Erkundungen fand ich das Plugin GBKSoft/Yii2-toaStr, das nicht nur mein Problem löste, sondern auch die Benutzererfahrung erheblich verbesserte.

So implementieren Sie einfach Laravel -Datei -Upload und -verwaltung mit ComposerSo implementieren Sie einfach Laravel -Datei -Upload und -verwaltung mit ComposerApr 18, 2025 am 07:21 AM

Bei der Entwicklung eines Laravel -Projekts stieß ich auf ein gemeinsames, aber schwieriges Problem: So behandeln Sie die Dateien und Bilder und die Überprüfung von Bildspeichern und Dateiverifizierung bei verschiedenen Auflösungen effizient. Ich habe verschiedene Methoden ausprobiert, aber die Ergebnisse waren nicht zufriedenstellend. Schließlich fand ich die Bibliothek Aldozumaran/Uploader, die sich leicht durch Komponist integriert und meinen Workflow erheblich vereinfacht.

Implementieren Sie einfach HTTP -Anfragen: Feehi/Standard -BibliotheksnutzungserfahrungImplementieren Sie einfach HTTP -Anfragen: Feehi/Standard -BibliotheksnutzungserfahrungApr 18, 2025 am 07:18 AM

Ich habe eine Herausforderung gestoßen, als ich ein Projekt entwickelt habe, das eine häufige Interaktion mit externen APIs erfordert: So behandeln Sie mit HTTP -Anforderungen effizient. Nachdem ich mehrere Methoden ausprobiert hatte, fand ich die Feedhi/Standard -Bibliothek, die meinen Entwicklungsprozess nicht nur vereinfachte, sondern auch die Leistung des Programms erheblich verbesserte.

So integrieren Sie mit Composer schnell Blog -Funktionen in ein Laravel -Projekt in ein Laravel -ProjektSo integrieren Sie mit Composer schnell Blog -Funktionen in ein Laravel -Projekt in ein Laravel -ProjektApr 18, 2025 am 07:15 AM

Während der Entwicklung eines Laravel -Projekts habe ich auf eine Anforderung gestoßen: Ich hoffe, schnell eine einfache Blogging -Funktion auf einer vorhandenen Website hinzuzufügen. Obwohl ich ein gewisses Verständnis von Laravel habe, ist es für mich immer noch eine Herausforderung, ein vollständiges Blogging -System zu implementieren. Nach einigen Nachforschungen fand ich ein Paket namens Didcode/Laravel-Blog, mit dem ich meinem Laravel5-Projekt einfach Blogging-Funktionen hinzufügen kann.

Verbessern Sie die Effizienz des Civicrm-Befehlszeilen-Tools: Die praktische Anwendung der GSL/Civicrm-Cli-Utils-BibliothekVerbessern Sie die Effizienz des Civicrm-Befehlszeilen-Tools: Die praktische Anwendung der GSL/Civicrm-Cli-Utils-BibliothekApr 18, 2025 am 07:12 AM

Bei der Verarbeitung von CivicRM-Daten muss ich häufig einige Vorgänge aus der Befehlszeile ausführen, aber man stelle fest, dass manuelle Vorgänge nicht nur umständlich und fehleranfällig sind. Ineffizienz wird zu einem großen Problem, insbesondere wenn die Stapelverarbeitung von Kontaktdaten verarbeitet wird. Nach einiger Exploration fand ich die Bibliothek GSL/Civicrm-Cli-Utils, die meinen Workflow stark vereinfachte und die Verarbeitungseffizienz erheblich verbesserte.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Crossplay haben?
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

VSCode Windows 64-Bit-Download

VSCode Windows 64-Bit-Download

Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

MantisBT

MantisBT

Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver Mac

Dreamweaver Mac

Visuelle Webentwicklungstools

MinGW – Minimalistisches GNU für Windows

MinGW – Minimalistisches GNU für Windows

Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.