【问题标题】:Can't deploy using serverless framework from Windows 10无法使用 Windows 10 中的无服务器框架进行部署
【发布时间】:2017-08-16 01:28:52
【问题描述】:

尝试使用 Windows 10 通过无服务器框架进行部署失败:

C:\Users\xxxxxx>sls deploy --verbose 无服务器:打包 服务...无服务器:排除开发依赖...

错误 ---------------------------------------------- ----

EPERM:不允许操作,scandir 'C:\Users\xxxxxx\AppData\Local\ElevatedDiagnostics' 用于调试 日志,设置“SLS_DEBUG=*”环境变量后再次运行。

您的环境信息 ----------------------------- 操作系统:win32 节点版本:6.11.2 无服务器版本:1.19.0

在提升的权限下使用命令提示符再次尝试:

EBUSY:资源繁忙或锁定,scandir 'C:\Users\xxxxxx\AppData\Local\Microsoft\InputPersonalization\TextHarvester\WaitList.dat'

我一开始以为存在权限问题,所以我在完全管理员模式下使用命令提示符重试,但遇到了第二个错误。我的研究表明 Windows 搜索存在问题,因此我将其关闭(以及所有后台应用程序)。再试一次(一次又一次),我遇到了更多类似的问题,无法部署任何东西。有人遇到过类似问题并找到解决方法吗?

【问题讨论】:

    标签: serverless-framework


    【解决方案1】:

    我终于解决了,所以如果其他人遇到这个问题,这里是一个总结。似乎有两个问题:

    1. 不要在根文件夹中创建函数。为您的无服务器功能创建一个特定文件夹,即不在 C:\Users\nnnnnn> 中,而是在您的常规文档存储中。在 Windows 10 中,如果您使用 OneDrive 文件夹,它会很好地工作,其好处是您的功能也会被复制到您可能使用的其他开发机器上(并自动在异地备份)。

    2. 更重要的是,如果您尝试部署到 aws CLI 配置中设置的默认区域以外的区域,那么无服务器框架似乎会出现问题。我不知道为什么会这样,因为我在 AWS CLI 中使用的凭证已获得所有区域的授权。我也不知道为什么这个问题会导致无服务器尝试访问它无权访问的一系列 Windows 文件,但是......

    就我而言,我主要使用区域 ap-southeast-2。默认情况下,SLS CREATE 使用默认的美国区域生成 serverless.yml。如果保持原样,则部署区域与您的 AWS CLI 区域之间存在不匹配。不好。为了避免在 SLS 部署命令中指定部署区域的小麻烦,只需更新 serverless.yml 文件中的部署区域以匹配 CLI 区域。

    现在是一种享受...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-04
      • 1970-01-01
      • 2021-10-07
      • 2022-06-14
      • 1970-01-01
      • 2021-05-12
      相关资源
      最近更新 更多