在过去的2天里,我一直试图让我的项目在DO App上构建。有趣的是,项目中没有任何变化,突然它开始出现错误:
[2023-04-06 09:03:02] │ It looks like you're trying to use TypeScript but do not have the required package(s) installed.
[2023-04-06 09:03:02] │
[2023-04-06 09:03:02] │ Please install typescript by running:
[2023-04-06 09:03:02] │
[2023-04-06 09:03:02] │ yarn add --dev typescript
[2023-04-06 09:03:02] │
[2023-04-06 09:03:02] │ If you are not trying to use TypeScript, please remove the tsconfig.json file from your package root (and any TypeScript files in your pages directory).
[2023-04-06 09:03:02] │
我们所要做的就是重新启动(强制重新部署和构建),然后它开始抛出这个错误。
同时,我们的staging分支工作得很好,两者之间的包版本是相同的。
"dependencies": {
"next": "^12.0.7",
"react": "17.0.2",
"react-dom": "17.0.2",
},
"devDependencies": {
"@types/node": "^18.11.9",
"@types/react": "^18.0.33",
"ts-node": "^10.9.1",
"typescript": "^5.0.3",
}
P.S.我甚至试图恢复到一个旧的工作提交,它在过去已经成功部署,它也失败了。
1条答案
按热度按时间nwsw7zdq1#
问题是,您可能在env变量中手动将
NODE_ENV
设置为production
,这会导致yarn
忽略devDependencies,只安装主依赖项(因此它无法找到typescript,通常安装为devDependency)如果你需要一个构建时的env var,让你的bundler知道它是一个生产环境,那么我建议使用一个不同的名字,比如
APP_ENV
或类似的东西,这样yarn就不会看到它,并且在DO App Platform上构建你的应用时,它总是包含你的devDependencies。对于运行时,您可以在start命令中使用
cross-env
将NODE_ENV
设置为production
。