You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何安装需通过prepack脚本构建的Git来源npm依赖包

错误根因

npm安装Git来源依赖时,触发prepack脚本前不会自动安装目标包的devDependencies,而vscroll的构建依赖shelljs被放在了devDependencies中,因此执行构建时找不到对应模块。npm官方源上的包是预构建完成的,不需要执行构建流程,因此可以正常安装。

方案1:修改vscroll包配置(适合包维护者)

  • 将package.json中的prepack脚本替换为prepare脚本:npm执行prepare脚本前会自动安装目标包的所有依赖(包括devDependencies),再执行构建流程,完全适配Git来源依赖的安装场景,同时不会影响npm官方源的发布流程。
  • 如果不想调整脚本命名,也可以将构建所需的依赖(如shelljs)从devDependencies移至dependencies,不过该方案会增加所有用户安装该包的体积,优先级低于替换脚本方案。

方案2:不修改vscroll源码(适合普通使用者)

  • 在宿主项目的package.json中添加postinstall脚本,安装完所有依赖后手动处理vscroll的构建,可直接适配CI环境无需额外配置:
{
  "scripts": {
    "postinstall": "cd node_modules/vscroll && npm install --only=dev && npm run build"
  }
}
  • 临时本地使用的话,可以手动克隆vscroll仓库到本地,执行构建完成后,通过npm install 本地vscroll目录路径的方式安装本地预构建的包。
  • 也可以fork vscroll的仓库,自行修改脚本配置后,安装自己fork后的Git地址即可,不需要发布版本到npm官方源。

内容的提问来源于stack exchange,提问作者dhilt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 06:27:02