我使用以下NPM命令安装了Serverless框架
npm install -g serverless当我试图在Powershell中运行无服务器命令sls时,我得到了一个奇怪的结果,其中提到了"cmdlet“。
sls --version

有人能帮我解决这个问题吗?
发布于 2017-04-09 03:53:53
PowerShell似乎有一个名为String的命令/cmdlet,它的别名为sls。PowerShell别名sls似乎优先于sls的node.js无服务器命令。
删除PowerShell sls别名的一种方法是在PowerShell中运行以下命令
Remove-Item alias:sls此更改仅适用于当前的PowerShell会话。
要永久使用sls PowerShell别名,可以更改Microsoft.PowerShell_profile.ps1文件。
在PowerShell中,使用以下命令在记事本中打开配置文件页:
notepad $profile将以下内容添加到文件中并保存。
remove-item alias:sls可以通过在Powershell中运行以下命令来重新加载配置文件
. $profile在我的文件中,您将看到我删除了curl和sls的别名。

现在,我看到了在PowerShell中输入sls时所期望的。

--更新-
一个更简单的选择是使用命令“无服务器”而不是"sls“。
发布于 2020-01-15 15:22:21
对于未来的访问者-在当前版本中(如果serverless是由npm/yarn安装的),^1.61有一个辅助快捷选项:
slss这条捷径在Powershell中运行得完美无缺。Imo是避免Select-String别名冲突问题的最简单方法,并且不需要在Powershell会话或配置中进行任何更改。
PS C:\htdocs\serverless> slss -v
Framework Core: 1.61.1
Plugin: 3.2.7
SDK: 2.2.1
Components Core: 1.1.2
Components CLI: 1.4.0如果serverless是由chocolatey安装的(如@Nick Cox在注释中提到的),slss方法将失败,您可以使用他建议的方法- sls.exe。
发布于 2021-01-26 06:54:09
我能够通过使用巧克力味解决这个问题。
不使用npm install serverless,而是使用choco install serverless for windows,
参考文献:https://www.serverless.com/framework/docs/getting-started/
https://stackoverflow.com/questions/43302843
复制相似问题