“服务/功能”的依赖解析应该如何工作?我的 package.json 没有被解析

问题描述 投票:0回答:1

我有一个 twilio 函数,是使用 twilio cli 的

twilio serverless init
命令编写的。然后,我通过
npm install
添加了几个依赖项,并实现它以对外部 API 进行 REST 调用。此时,我的 package.json 包含这些依赖项:

 "dependencies": {
   "@twilio-labs/serverless-runtime-types": "^3.0.0",
   "@twilio/runtime-handler": "1.3.1",
   "nanoid": "^3.0.2",
   "twilio": "^3.56"
 },

然后,我通过项目模板添加到 package.json 的

twilio-run deploy
命令部署了该函数(在弄清楚如何进行身份验证之后,因为这似乎不像记录的那样工作......但这是一个不同的问题)。为了清楚起见,在此处复制该内容:

./node_modules/.bin/twilio-run deploy --functions-folder dist/functions --assets-folder dist/assets

部署成功,twilio 控制台中已部署函数的依赖项列表如下所示:

然后我意识到我需要添加请求签名。所以我通过

aws4-axios
添加了对
npm install
的依赖。我的 package.json 现在包含:

"dependencies": {
   "@twilio-labs/serverless-runtime-types": "^3.0.0",
   "@twilio/runtime-handler": "1.3.1",
   "aws4-axios": "^3.3.4",
   "nanoid": "^3.0.2",
   "twilio": "^3.56"
 },

如上所述通过

twilio-run deploy
再次部署后,我在控制台中查看了该函数的依赖列表,它没有变化。 Twilio 文档 声称读取 package.json 并从那里提供依赖项,但这显然不起作用,即使我可以看到在发布日志中创建的新版本。我无法通过功能控制台添加这个新的依赖项,因为通过 CLI 部署的内容在控制台中是只读的。我想也许我可以删除该函数并重新部署它,但同样,它显然是只读的,我无法删除它。

这个东西应该如何工作?我在这里做错了什么吗?

node.js twilio twilio-api
1个回答
0
投票

很奇怪你遇到了这个问题。我只是尝试重现它(创建一个新的 Functions 项目 -> 部署 -> 使用

npm i
添加依赖项 -> 重新部署)并且它工作得很好。您能否检查一下您是否使用的是最新版本的 Twilio CLI?

另一个问题更容易回答。您可以使用 Twilio 控制台或 Twilio CLI 来创建和删除“UI 函数”。如果您使用 CLI 创建了函数,您还可以使用以下 CLI 命令将其删除:

twilio api:serverless:v1:services:remove --sid ZS11111111
© www.soinside.com 2019 - 2024. All rights reserved.