言午月月鸟
编程,带娃以及思考人生
首页
编程
带娃
思考人生
编程画图秀
PHP Go 和 nodejs 的包管理比较
dingusxp
1251
||php|go|nodejs| |-|-|-|-| |工具|composer(非官方)|go mod(官方)|npm(官方)| |适用范围|项目级别|项目级别,资源全局共享|项目级别或全局(可指定)| |重现构建|1. 使用composer.lock重新 `composer install`
2. 提交 vendor 目录|1. 无需(直接发布二进制文件);
2. 重新源码编译: `go mod vendor` 创建 vendor 目录并提交(不建议)|1. 使用 package-lock.json 重新 `npm install`
2. 提交node_modules 目录(不建议)| |版本选择|满足语义描述的最新稳定版本|满足语义描述的最小版本|满足语义描述的最新版本| |多版本引用|不支持。|可兼容版本引用路径一致;
不兼容版本,通过引用路径中加大版本号区分|不支持。| |版本兼容|没有明确规范。
通常认为3级版本迭代完全向后兼容,2级版本迭代可能存在需要少量升级的变更|官方规范:
1级版本迭代含不兼容的API修改
2级版本迭代含向下兼容的新增feature
3级版本迭代为向下兼容的问题修正|官方规范:
1级版本迭代不向后兼容
2级版本迭代向后兼容,带新feature
3级版本迭代向后兼容,仅bugfix| |国内源|有。常用:
`composer config repo.packagist composer `[`https://packagist.phpcomposer.com`](https://packagist.phpcomposer.com)
`composer config repo.packagist composer `[`https://mirrors.aliyun.com/composer`](https://mirrors.aliyun.com/composer)|有。常用:
`go env -w GOPROXY="https://goproxy.cn,direct"`|有。常用:
`npm config set registry `[`http://registry.cnpmjs.org`](http://registry.cnpmjs.org)
`npm config set registry `[`http://registry.npm.taobao.org`](http://registry.npm.taobao.org)
或直接使用 cnpm 替换 npm:
`npm install -g cnpm --registry=https://registry.npm.taobao.org`| |自建源|支持,实现简单。常用: satis|不需要。直接 go.mod 配置 GOPRIVATE 或者 replace|支持。常用: Verdaccio 或 cnpm| |引用别名|支持。
`use Namespace\To\Classname as Classalias`|支持。
`import newname "path/to/packagename"`|支持。
`import {newName} from "path/to/module"`| |||||
粤ICP备19051469号-1
Copyright©dingusxp.com - All Rights Reserved
Template by
OS Templates