Netlify无法安装Fork的npm模块:无法获取元数据
解决Netlify安装Git依赖时
tsc: not found的问题 问题根源
你Fork的g-sheets-api模块在prepublish脚本中调用了tsc命令,但npm安装Git远程依赖时,默认不会安装该依赖包的devDependencies(typescript属于dev依赖),导致Netlify构建时找不到tsc工具。
可行解决方法
方法1:将typescript移到模块的dependencies
进入你的g-sheets-api仓库,修改package.json,把typescript从devDependencies移到dependencies字段,然后提交并推送到GitHub。这样Netlify安装该依赖时会自动安装typescript,tsc命令就能正常执行。方法2:预编译模块代码并移除prepublish脚本
- 在本地
g-sheets-api仓库执行tsc编译TypeScript代码,生成对应的JS文件(通常在dist目录)。 - 将编译后的
dist目录加入Git版本控制(确保.gitignore没有排除该目录)。 - 修改
package.json的main字段,指向编译后的入口文件(比如"main": "dist/index.js")。 - 删除
package.json中的prepublish或prepare相关脚本。 - 提交并推送修改到GitHub。Netlify安装时会直接使用预编译好的JS代码,无需再执行编译。
- 在本地
方法3:调整Netlify的构建配置(临时方案)
在Netlify项目的构建设置中,将构建命令改为:npm install typescript && npm run build这种方式会在构建前安装typescript,临时解决找不到tsc的问题,但不如前两种方法规范。
内容的提问来源于stack exchange,提问作者lpares12
相关产品推荐
相关产品推荐

