2017-08-16 32 views
0
部署使用无服务器架构

尝试通过使用Windows 10不能无服务器架构部署:不能从Windows 10

C:\用户\ XXXXXX> SLS部署--verbose无服务器:包装 服务...无服务器:排除开发依赖...

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

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

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

下提升的权限带命令提示符的再次尝试:

EBUSY:资源忙或锁定,SCANDIR “C:\用户\ XXXXXX \应用程序数据\本地\微软\ InputPersonalization \ TextHarvester \ WaitList.dat'

我认为最初有一个权限问题,所以我重试了命令提示符以完全管理模式,但只是遇到了第二个错误。我的研究表明Windows搜索存在一个问题,所以我关闭了它(以及所有的后台应用程序)。再次尝试(再次)我遇到了更多类似的问题,无法部署任何东西。任何人都有类似的问题,并找到了解决方法?

回答

1

我终于搞定了,所以万一有人遇到这个问题,这里就是一个总结。似乎有两个问题:

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

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

就我而言,我主要使用区域的AP-东南-2。默认情况下,SLS CREATE使用默认的美国地区生成serverless.yml。如果这样保持原样,那么部署区域与您的AWS CLI区域之间会出现不匹配。不好。为避免必须在SLS deploy命令中指定部署区域的麻烦,只需更新serverless.yml文件中的部署区域以匹配CLI区域。

现在工作一种治疗...