无服务器框架 sls 与 Powershell sls 冲突(Select-字符串)
Serverless Framework sls Conflicts with Powershell sls (Select-string)
我使用以下 NPM 命令安装了无服务器框架
npm install -g serverless
当我在 Powershell 中尝试 运行 无服务器命令 sls
时,我得到一个奇怪的结果,其中提到 "cmdlet Select-string".
sls --version
有人可以帮我解决这个问题吗?
PowerShell 似乎有一个名为 Select-String 的 command/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 时的预期结果。
How do I permanently remove a default Powershell alias?
---更新----
一个更简单的选择是使用命令 "serverless" 而不是 "sls"。
对于未来的访问者 - 在当前版本中(如果 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
我使用 Chocolaty 解决了这个问题。
而不是 npm install serverless
使用 choco install serverless
代替 windows,
参考:https://www.serverless.com/framework/docs/getting-started/
我使用以下 NPM 命令安装了无服务器框架
npm install -g serverless
当我在 Powershell 中尝试 运行 无服务器命令 sls
时,我得到一个奇怪的结果,其中提到 "cmdlet Select-string".
sls --version
有人可以帮我解决这个问题吗?
PowerShell 似乎有一个名为 Select-String 的 command/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 时的预期结果。
How do I permanently remove a default Powershell alias?
---更新----
一个更简单的选择是使用命令 "serverless" 而不是 "sls"。
对于未来的访问者 - 在当前版本中(如果 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
我使用 Chocolaty 解决了这个问题。
而不是 npm install serverless
使用 choco install serverless
代替 windows,
参考:https://www.serverless.com/framework/docs/getting-started/