我的google服务托管在运行在标准环境中的上。我已经执行了所有步骤,但是调试代理抛出了以下消息:
@google云/调试代理未能重新注册调试器xxx-后端:错误:{不存在的文件,或者它不是一个文件。ENOENT:没有这样的文件或目录,lstat‘/工作区/{
我的app.ts文件顶部有这样的代码:.start(‘@google/debug-agent’);
我的Node.js版本是: 14.17.0
在更新包并再次安装它之后,错误是:
Error: The file at { does not exist, or it is not a file. ENOENT: no such file or directory, lstat '/workspace/{' at Object.realpathSync (fs.js:1796:7) at GoogleAuth._getApplicationCredentialsFromFilePath (/workspace/node_modules/google-auth-library/build/src/auth/googleauth.js:263:27) at GoogleAuth._tryGetApplicationCredentialsFromEnvironmentVariable (/workspace/node_modules/google-auth-library/build/src/auth/googleauth.js:206:25) at GoogleAuth.getApplicationDefaultAsync (/workspace/node_modules/google-auth-library/build/src/auth/googleauth.js:136:24) at GoogleAuth.getClient (/workspace/node_modules/google-auth-library/build/src/auth/googleauth.js:551:28) at GrpcClient._getCredentials (/workspace/node_modules/@google-cloud/logging/node_modules/google-gax/build/src/grpc.js:145:40) at GrpcClient.createStub (/workspace/node_modules/@google-cloud/logging/node_modules/google-gax/build/src/grpc.js:308:34) at processTicksAndRejections (internal/process/task_queues.js:95:5)发布于 2021-07-09 12:25:21
环境变量GOOGLE_APPLICATION_CREDENTIALS用于向应用程序代码提供身份验证凭据。
如果Stackdriver访问范围在该实例上启用,则Stackdriver代理不应该为运行在Google平台上的实例手动提供身份验证凭据。对于实例,如果为您的项目启用了Debugger API (这是默认的),这是自动的。如果您正在其他地方运行,例如本地、or或在其他云提供商上运行,则需要手动提供凭据。有关更多信息,请参阅文档。
您正在将env变量GOOGLE_APPLICATION_CREDENTIALS设置为文件“{”,这就是您获得错误的原因。
看起来,您正在Google平台上运行代码,这就是即使在删除env变量GOOGLE_APPLICATION_CREDENTIALS之后代码仍能工作的原因。
发布于 2021-07-05 12:57:57
好吧,所以我通过尝试一些东西得到了答案。基本上,我的秘密里有GOOGLE_APPLICATION_CREDENTIALS。我的应用程序部署在GAE中,所以我不需要凭据。以前我用另一个应用程序来托管,所以我把它藏在我的秘密里。一旦我删除了那个秘密,它就开始工作了。
但是为什么会发生这样的错误呢?证件是正确的,所以无论如何都应该有效,对吧?
https://stackoverflow.com/questions/68243978
复制相似问题