如何在package.json中声明依赖为对应git仓库及同仓库同目录npm包
package.json 特殊依赖配置方案
1. 依赖指定为Git仓库地址
npm原生支持直接将Git仓库地址作为依赖的版本声明,常用配置格式如下:
- 通用公开/私有HTTP Git仓库:
"[包名]": "git+<Git仓库HTTP地址>#<分支名/标签名/commit哈希>"
示例:安装lodash主分支最新代码:"lodash": "git+https://github.com/lodash/lodash.git#main" - SSH协议私有Git仓库:
"[包名]": "git+ssh://<SSH仓库地址>#<分支名/标签名/commit哈希>"
示例:"my-private-pkg": "git+ssh://git@git.example.com:team/my-private-pkg.git#v1.1.0" - GitHub仓库简化写法:
"[包名]": "github:<用户名/组织名>/<仓库名>#<分支名/标签名/commit哈希>"
示例:"lodash": "github:lodash/lodash#main"
注意:如果Git仓库中的依赖包需要预编译才能使用,请提前在依赖包自身的package.json中配置
prepare脚本,npm安装时会自动执行该脚本完成编译。
2. 依赖指定为同目录本地npm包
直接使用file:前缀加本地相对路径作为版本值即可,配置格式如下:"[包名]": "file:<本地包相对路径>"
示例:如果你的项目根目录下有一个和当前项目package.json同级的本地工具包common-utils(自身包含合法package.json),配置为:"common-utils": "file:./common-utils"
注意:本地依赖安装时npm会自动创建软链接,修改本地包代码无需重新安装即可生效;生产打包时构建工具会自动读取对应路径下的包代码,无需额外适配。
内容的提问来源于stack exchange,提问作者Jerome Garcia
相关产品推荐
相关产品推荐

