跳到主要内容

发布各种包-比如NPM

发布npm。—nodejs

https://www.npmjs.com/settings/chenyduan/profile
  1. 注册账户,并创建一个组织(orgname)

  2. 创建包名目录

  3. 创建一个组织范围包()

    1. npm init —scope=orgname
  4. 查看镜像源 1.

    // 查看npm镜像源地址

    npm config get registry

    // 切换npm镜像源

    // 设置npm默认源

    npm config set registry https://registry.npmjs.org/

  5. 在本地登录npm的账号

    1. npm login
    2. npm logout
  6. 发布包

    1. npm publish 默认发布私有包,免费账户不能发布
    2. npm publish —access public。发布公开包。
  7. 到账户下查看包

  8. 更新包 1.

    // 自动更改版本号,并且commit

    // npm version xxx

    // 控制台会返回下一个小版本号 如v1.0.1

    npm version patch

    // 重新发布

    npm publish

发布PyPI。 — python

https://pypi.org/user/chenyduan/
  1. 注册账户

  2. 创建项目

    1. 项目结构 1.

      common-python
      son-package
      __init__.py
      code.py
      license
      readme.md
      setup.py
    2. container是一个子包,包含代码文件,和包声明文件

    3. License 文件

    4. Readme文件

    5. setup.py文件

      1. setup.py 内容如下
      from setuptools import setup
      from setuptools import find_packages

      VERSION = '0.1.0-alpha.1'

      setup(
      name='universeparticle', # package name
      version=VERSION, # package version
      description='common util', # package description
      packages=find_packages(),
      zip_safe=False,
      )
  3. 生成分发档案

    1. python setup.py check检查setup.py是否有错误

    2. python3 -m pip install --user --upgrade setuptools wheel

    3. 打包 1.

      python setup.py sdist build

      这样在当前目录的dist文件夹下, 就会多出一个tar.gz结尾的包了:

      2、也可以打包一个wheels格式的包, 使用下面的命令就可以了:

      python setup.py bdist_wheel --universal
      这样会在dist文件夹下面生成一个whl文件.

      3、或者从setup.py位于的同一目录运行此命令:

      python3 setup.py sdist bdist_wheel
      上面的命令会在dist目录下生成一个tar.gz的源码包和一个.whl的Wheel包。
  4. 发布包 1.

    接下来就是上传你的包了,这里使用twine上传。
    需要先安装twine(用 twine上传分发包,并且只有 twine> = 1.11.0 才能将元数据正确发送到 Pypi上)

    pip install twine

安装完之后,运行下面的命令将库上传,上传包,期间会让你输入注册的用户名和密码

twine upload dist/*

输入 PyPI注册的用户名和密码。命令完成后,您应该看到与此类似的输出:

  1. 验证包
https://pypi.org/project/universeparticle/

上传完成了会显示success,我们直接可以在PyPI上查看,如下:

您可以使用pip来安装包并验证它是否有效。 创建一个新的virtualenv (请参阅安装包以获取详细说明)并从TestPyPI安装包:

python3 -m pip install --index-url https://test.pypi.org/simple/ package-mikezhou-talk

pip install package-mikezhou-talk -i https://www.pypi.org/simple/

如下图所示:

进入Python Shell验证结果如下:

至此,我们已经成功地将自己开发的Python程序发布到了PyPI,此时你,可以直接在你本地的环境通过pip命令安装示例中的package-mikezhou-talk这个包了。

发布create。— rust

https://crates.io/crates/universeparticle/versions
  1. 注册账户

  2. 验证邮箱 account setting > profile

  3. 生成api token 并记录。account setting → API tokens

  4. crates 没用组织账户

  5. 配置 cargo

  6. 配置cargo.toml 1.

    name = "universeparticle"

    version = "0.1.0-alpha.1"

    edition = "2021"

    license = "GPL-3.0"

    authors = ["chenyduan"]

    description = "common util"

  7. 创建cargo toekn

  8. 登录cargo

    1. $ cargo login abcdefghijklmnopqrstuvwxyz012345
  9. 发布

    1. 如果失败,查看失败原因,可能是网络或者包名重复
    2. 如果包名不重复,就可以发布成功。
    cargo publish