【问题标题】:"Provided module can't be loaded" error when trying to load GoogleCloud Datastore module with Nodejs 8尝试使用 Nodejs 8 加载 GoogleCloud Datastore 模块时出现“无法加载提供的模块”错误
【发布时间】:2020-04-30 02:15:58
【问题描述】:

作为在 Google Cloud Platform 下使用 Nodejs 8 执行的 Cloud Function 实现的一部分,我必须将信息存储在 GCP Datastore 中。

我使用的是用 Javascript 编译的 TypeScript。

尝试导入"@google-cloud/datastore" 模块时出现以下错误:

提供的模块无法加载。
您的中是否存在语法错误 代码?
详细的堆栈跟踪:TypeError:extend must be a string

我尝试了 2 种方法来导入模块,但每次都遇到相同的错误:

import {Datastore} from '@google-cloud/datastore';
const datastore = new Datastore();

const datastore = require('@google-cloud/datastore');

我也尝试安装不同版本的模块,没有任何帮助。

最后,我意识到即使没有安装模块(我执行了命令npm uninstall @google-cloud/datastore),在逻辑上,当我们尝试导入未安装的模块时,我也会得到完全相同的错误,我们应该有以下错误:

提供的模块无法加载。
您是否列出了所有必需的模块 在 package.json 依赖项中?
详细的堆栈跟踪:错误: 找不到模块“测试”

有没有人遇到过这个问题或者知道我为什么会收到这个错误?

【问题讨论】:

  • 您是否将模块添加到 package.json 中的依赖项中?如果没有添加它"@google-cloud/datastore": "^5.0.3"
  • 我确实在 package.json 的依赖项中添加了模块。我也确实查看了文档,但没有发现任何帮助。 Datastore 和 QuickBase 之间似乎存在冲突。在我的索引文件中,我还有其他使用 QuickBase 的 GCP 函数。当我评论对 QuickBase 的所有调用时,我使用 Datastore 的函数编译时不会出错。有没有人遇到过这个冲突并且可能知道如何解决这个问题?

标签: javascript node.js typescript google-cloud-platform google-cloud-datastore


【解决方案1】:

我在部署函数时遇到了同样的问题,后来我意识到我将包安装在错误的位置。

我的文件夹结构是这样的:

  • /
    • 功能
      • node_modules
      • index.js ...

我错误地把所有的包都安装在了 / 级别:

  • /
    • 功能
      • node_modules
      • index.js ...
    • node_modules

所以我所有的包都在外部 node_modules 中。

【讨论】:

  • 我也面临同样的问题,如何更改错误的包裹位置?
猜你喜欢
  • 2018-03-05
  • 2012-03-09
  • 1970-01-01
  • 1970-01-01
  • 2012-04-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多