ArangoDB Foxx服务参考错误:未定义URL

brccelvz  于 2022-12-09  发布在  Go
关注(0)|答案(1)|浏览(98)

我尝试使用Foxx CLI将一个服务安装到ArangoDB,但在使用joi作为依赖项时出现错误。完整的堆栈跟踪如下:

Server encountered errors executing a JavaScript file:

@ node_modules/@sideway/address/lib/domain.js:14:21
  12 |     tldSegmentRx: /^[a-zA-Z](?:[a-zA-Z0-9\-]*[a-zA-Z0-9])?$/,
  13 |     domainSegmentRx: /^[a-zA-Z0-9](?:[a-zA-Z0-9\-]*[a-zA-Z0-9])?$/,
> 14 |     URL: Url.URL || URL                                                                 // $lab:coverage:ignore$    
     |                     ^
  15 | };
  16 | 
  17 | 
ArangoError 3103: failed to invoke module
File: /tmp/arangod_bepCMN/services-tmp-1-4156953835/node_modules/@sideway/address/lib/domain.js
Reason: ReferenceError: URL is not defined
    at Object.<anonymous> (/tmp/arangod_bepCMN/services-tmp-1-4156953835/node_modules/@sideway/address/lib/domain.js:14:21)
    at Module._compile (/usr/share/arangodb3/js/common/bootstrap/modules.js:606:8)
    at Object.Module._extensions..js (/usr/share/arangodb3/js/common/bootstrap/modules.js:624:12)
    at Module.load (/usr/share/arangodb3/js/common/bootstrap/modules.js:551:36)
    at Function.Module._load (/usr/share/arangodb3/js/common/bootstrap/modules.js:496:16)
    at require (/usr/share/arangodb3/js/common/bootstrap/modules.js:98:21)
    at Object.<anonymous> (/tmp/arangod_bepCMN/services-tmp-1-4156953835/node_modules/joi/lib/types/string.js:4:16)        
    at Module._compile (/usr/share/arangodb3/js/common/bootstrap/modules.js:606:8)
    at Object.Module._extensions..js (/usr/share/arangodb3/js/common/bootstrap/modules.js:624:12)
    at Module.load (/usr/share/arangodb3/js/common/bootstrap/modules.js:551:36)

For details check the arangod server logs.

这个问题说明这个错误可能是由ignore file引起的,但是我根本没有使用.foxxignore文件。你知道还有什么可能引起这个错误吗?
下面是我的package.json和所有的脚本。install:serviceupgrade:servicesetup都抛出这个错误。

{
  "name": "auth",
  "version": "0.0.0",
  "description": "",
  "main": "dist/entry.js",
  "scripts": {
    "build": "tsc -p .",
    "install:service": "npm run build && foxx install /auth --server dev --database party",
    "upgrade:service": "npm run build && foxx upgrade /auth --server dev --database party",
    "setup": "foxx server set dev http://root:password@localhost:8529 --database party && npm run install:service"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "joi": "^17.4.2"
  },
  "devDependencies": {
    "@types/arangodb": "^3.5.13",
    "@types/joi": "^17.2.3",
    "@types/node": "^16.11.6",
    "tslint": "^6.1.3",
    "typescript": "^4.4.4"
  }
}
kpbpu008

kpbpu0081#

这可能是晚了,但我发现,较新版本的joi是不兼容的一个安装在封面下(v14)。
以下是对我有效的方法(摘录自package.json):

{
    "dependencies": {
        "chai": "^4.3.4",
        "joi": "^14.3.1"
    }
}

相关问题