似乎PowerShell有一个名为Select-String的命令/cmdlet,它有一个别名叫做sls。 PowerShell的别名sls似乎比node.js无服务器命令sls更优先。
删除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时,我看到了我期望看到的内容。
--- 更新 ----
更简单的选项是使用命令“serverless”而不是“sls”。
对于未来的访问者 - 在当前版本中(如果通过npm/yarn
安装了serverless
),^1.61
存在第二个快捷选项:
slss
这个快捷方式在PowerShell中非常有效。我认为这是避免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
chocolatey
安装了 serverless
(如评论中的 @Nick Cox 所提到的),则 slss
方法会失败,您可以使用他建议的方法 - sls.exe
。npm install serverless
,而是使用choco install serverless
。