2017-08-16 64 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區域。

現在工作一種治療...