软件包管理系统的架构与生态机制
文章目录
- 前言
- 一、总结
- 二、如何上传自己的软件包
前言
在日常软件开发中,我们经常使用诸如apt install
, pip install
, npm install
之类的命令,但有一个问题是,这些下载命令是从哪里下载的这些软件包,以及我们是否能上传自己的代码库供别人下载?
一、总结
下表总结了各种不同命令和环境的下载来源
命令 | 语言/环境 | 默认仓库来源 | 可否上传自己的包? |
---|---|---|---|
apt install | Linux 系统软件 | Debian/Ubuntu 的 APT 仓库(如 http://archive.ubuntu.com/ ) | 可以,需创建自己的 PPA 或私有仓库 |
pip install | Python | PyPI(Python Package Index) | 可以上传自己的包到 PyPI |
npm install | Node.js | npm registry | 可以发布自己的包到 npm |
cargo install | Rust | crates.io | 可以上传到 crates.io |
go install | Go | Git 仓库(如 GitHub)或 proxy.golang.org | 发布到 GitHub 即可被安装 |
composer install | PHP | Packagist | 可上传包到 Packagist |
二、如何上传自己的软件包
1.Python
# 安装构建工具
pip install setuptools wheel twine# 构建包
python setup.py sdist bdist_wheel# 上传到 PyPI
twine upload dist/*
2.npm
# 登录npm账号
npm login# 发布包(当前目录为包根目录,包含 package.json)
npm publish