【问题标题】:GAS Libraries Fatal Flaw: "Library with identifier FOO is missing (perhaps it was deleted?)"GAS 库致命缺陷:“缺少标识符为 FOO 的库(可能已被删除?)”
【发布时间】:2015-10-05 06:26:35
【问题描述】:

问题:

还有其他人遇到this 问题吗?如果是这样,解决方案或我的最佳行动方案是什么?

问题陈述:

库致命缺陷:“标识符为 FOO 的库丢失(可能已被删除?)”+“很抱歉,发生服务器错误。请稍等,然后重试。”

请提供问题的简短描述:

在我的 GAS 项目中运行任何函数都会导致以下错误消息:

“标识符为 FOO 的库丢失(可能已被删除?)”

如果我尝试对我的库进行任何更改(在“资源”选项卡下),包括:

  1. 将库 FOO 更新到最新版本,
  2. 将第二个库(我们称之为 BAR)更新到最新版本
  3. 将 FOO 或 BAR 更新到任何其他版本
  4. 完全删除 FOO 或 BAR 或
  5. 关闭 FOO 或 BAR(目前处于开发模式)的开发模式。

简而言之,对库资源的任何更改都会遇到以下错误消息:

“很抱歉,出现服务器错误。请稍等,然后重试。”

  • 我今天第一次看到这个错误消息。
  • 自从我至少在两年前或更长时间前开始这个项目以来,我从未见过这个问题。

请提供一个能够可靠地重现问题的小示例脚本。

示例应按原样运行或以最少的设置运行,无需外部 依赖关系。

function test(){Logger.log("A")}

哪些步骤会重现问题?

  1. 删除我项目中的所有代码。
  2. 将上述名为“test”的函数复制并粘贴到我的项目中的脚本文件中。
  3. 尝试运行上述名为“test”的函数。
  4. 在尝试运行“测试”并看到错误消息后:“缺少标识符为 FOO 的库(可能已被删除?)”,打开资源 > 库。
  5. 尝试将 FOO 更新到最新版本。或者对任何库进行任何更改。

预期的输出是什么?

  1. 运行“test”函数后,我希望看到它已成功完成并且记录器读取“A”。
  2. 尝试更新库后,我希望在对话框中看到新的库版本。

你看到了什么?

  1. 我看到错误消息:“缺少标识符为 FOO 的库(可能已被删除?)”
  2. 我看到错误消息:“很抱歉,出现服务器错误。请稍候,然后重试。”

请在下面提供任何其他信息。

我创建了一个新项目(我们称之为B),将问题项目(我们称之为A)中的所有代码复制并粘贴到B,并成功地将FOO和BAR库(最新版本)集成到B中。之后这样做,B 运行良好,没有任何错误。问题是我所有的 scriptDB 数据仍存储在 A 中。无法从 A 运行任何函数,我无法从 A 导出任何数据。否则,我会尝试“混乱”的解决方法,例如使用 B 重新启动例如,用对 B 的调用来更新我对 A 的所有(第 3 方)调用。

【问题讨论】:

  • 我也遇到过这个问题。我创建了一个新文件,复制了所有代码,为 lib 提供了一个新名称(所以我现在使用 'var a = BBBBBB.myfunction' 而不是 'var a = AAA.myFunction'),更改了函数、变量和将文本转换为 BBBBBB。但是由于缺少库,我仍然无法运行我的(简短而简单的)测试脚本。我注意到我意外删除了该库的旧版本(版本 1)。也许这造成了问题。我可以想象,由于版本控制系统(跟踪每个代码更改)引用已删除版本 1 的旧代码会导致问题。

标签: google-apps-script


【解决方案1】:

来自 cmets 的总结:

每个@SoftwareTester:

我也遇到过这个问题。我创建了一个新文件,复制了所有代码,为 lib 提供了一个新名称(所以我现在使用 'var a = BBBBBB.myfunction' 而不是 'var a = AAA.myFunction'),更改了函数、变量和将文本转换为 BBBBBB。但是由于缺少库,我仍然无法运行我的(简短而简单的)测试脚本。我注意到我意外删除了该库的旧版本(版本 1)。也许这造成了问题。我可以想象由于版本控制系统(跟踪每个代码更改)引用已删除版本 1 的旧代码会导致问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多