我们已经跟踪内存不足错误一段时间了,该错误似乎在构建步骤中时不时发生。
我们终于确定了提交。上述提交导致
tsc --alwaysStrict
构建从完成构建所需的 175MB (RAM) 增加到 656MB。
该提交仅将
googleapis
库添加到 package.json
并像这样 import { google } from "googleapis";
一样使用它。仅这两个变化就造成了这一峰值。
我们看到的另一件事是,在
package.json
上包含库使构建增加了 100MB,但是,一旦我们添加 import
,它就会一路上升到 600MB。我看到了一些未来的选择,但我不喜欢其中任何一个:
还有其他方法可以解决这个问题吗?
我遇到了同样的问题,不过对我来说,问题是在运行 jest 单元测试时出现的,即使是最简单的测试也会消耗高达 1GB 的内存并导致我们的 CI 机器崩溃。
似乎取得了一些进展,您现在可以从 @googleapis 导入特定模块
看:https://github.com/googleapis/google-api-nodejs-client/issues/2187
例如: https://www.npmjs.com/package/@googleapis/drive https://www.npmjs.com/package/@googleapis/calendar
还没尝试过,但希望能解决问题。
编辑: 尝试使用我上面提到的特定于服务的软件包,它的效果非常好。尝试一下
我解决了你的问题。
googleapis库是一个涵盖几乎所有Google服务的库。如果您只使用一个 Google API,那么您不需要使用所有模块。
这里,我只使用了oAuth2功能。所以只需导入相关模块即可。
import { auth } from 'googleapis/build/src/apis/oauth2'
import { APP_BASE_URL, GOOGLE_AUTH_CLIENT_ID, GOOGLE_AUTH_CLIENT_SECRET } from '@/constants/environments'
export const GOOGLE_AUTH_SCOPES: string[] = [
'https://www.googleapis.com/auth/userinfo.email',
'https://www.googleapis.com/auth/userinfo.profile'
]
/**
* Create oAuth2 Client.
*/
const callbackUrl = `${APP_BASE_URL}/auth/google/callback`
export const oAuth2Client = new auth.OAuth2(
GOOGLE_AUTH_CLIENT_ID,
GOOGLE_AUTH_CLIENT_SECRET,
callbackUrl
)