如何安装GitHub上需构建的npm包,例如fork的第三方开源库
解决方案
配置fork仓库的生命周期脚本
你只需要在自己fork的库根目录的package.json文件中添加prepare生命周期脚本即可,npm和yarn均默认支持该脚本,会在依赖安装完成后自动执行:
{ "name": "vue3-datepicker", "scripts": { // 保留库原有的其他脚本 "build:component": "原有构建命令", "prepare": "npm run build:component" } }
将上述修改提交并推送到你fork的GitHub仓库,无需修改.gitignore,dist目录依然可以保留在忽略列表中,不需要提交到代码仓库。
应用侧安装方式
配置完成后,应用侧不管使用npm还是yarn,都可以直接通过GitHub地址正常安装依赖,安装过程会自动触发构建生成dist目录:
- yarn安装命令:
yarn add <GitHub用户名>/<GitHub仓库名>#<分支/提交哈希/标签>
- npm安装命令:
npm install <GitHub用户名>/<GitHub仓库名>#<分支/提交哈希/标签>
安装完成后即可正常引入使用,不会再出现找不到包入口的报错。
原理解释
prepare是Node.js包管理器通用的生命周期钩子,执行时机为:
- 包发布到npm registry之前
- 包从git源安装完成之后
完全符合需求,构建过程自动在应用侧执行,无需每次修改fork代码后手动构建推送产物。
注意事项
请确保fork仓库的devDependencies中包含构建所需的所有依赖(比如TypeScript、vue模板编译器、打包工具等),避免安装时出现命令缺失的报错。
内容的提问来源于stack exchange,提问作者k0pernikus
相关产品推荐
相关产品推荐

