无法从 powershell 运行 Elixir 应用程序

2024-03-01

当我打字时iex -S mix在 PowerShell 中我收到此错误:

Invoke-Expression : A positional parameter cannot be found that accepts argument 'mix'.
At line:1 char:1
+ iex S mix
+ ~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (:) [Invoke-Expression], ParameterBindingException
    + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.InvokeExpressionCommand

在“iex”命令之后编写“-S mix”以获得与在 cmd 中键入它相同的效果的正确方法是什么?我相信这是我不理解 PowerShell 语法的一个问题。


问题是iex是 Powershell 中的别名,缩写为Invoke-Expression。如果您尝试运行命令iex.exe, iex.bat or iex.cmd,您必须以某种独特的方式指定它:显式(或完整)路径,或者甚至只是添加应用程序的扩展名就足够了。这样,Powershell就不会尝试运行Invoke-Expression.

Get-Command可以为您解决此类问题:

PS C:\Dir> Get-Command iex

CommandType     Name                                               ModuleName
-----------     ----                                               ----------
Alias           iex -> Invoke-Expression 

PS C:\Dir> Get-Command cmd

CommandType     Name                                               ModuleName
-----------     ----                                               ----------
Application     cmd.exe

似乎不可能同时列出命令类型和路径:如果您想查看哪个iex是哪个,您可以使用以下形式:

PS C:\Dir> Get-Command -All iex -Syntax
Invoke-Expression
C:\windows\iex.bat

您可以在 Microsoft 中找到有关 Powershell 如何决定运行哪个命令的更多信息技术网库 https://technet.microsoft.com/en-us/library/hh848304.aspx.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法从 powershell 运行 Elixir 应用程序 的相关文章

随机推荐