最近在开发程序的时候需要用到 CURL 来发送一些网络请求,于是就使用 Scoop 管理器安装了 CURL 。本来是一个很简单的事情,但是在随后使用命令行调用 CURL 时却发现对应的程序是 Invoke-WebRequest 。在确认了环境变量后也不得不承认这个属实是把我难住了。不过通过我的的一番询问,最终了解到了这是 powershell 默认提供的别名(alias)之一。
既然找到了问题的所在,那么解决起来就容易了。经过一番网上冲浪,也寻得了以下命令来移除别名:
Remove-Item alias:curl
在命令行中输入后也的确解决了问题,CURL 也能正常使用了。于是我便高高兴兴结了案,去 调戏 CURL 了。
不过比较了解我的朋友大概知道,这种小事情我一般是不会拿出来分享的。既然你能看到这篇文章,那么一定没这么简单!
没错,单独输入这条命令的移除效果仅限本次会话。
当我隔天打开命令行,准备享受我之前的劳动成果(指设置 CURL )时,显示的 Invoke-WebRequest 无疑是给了我当头一棒。于是我便再次搜索这个问题,才在官方文档中了解到使用 Remove-Item alias:curl 的效果仅限于单次会话。
不过文档中同样也给了一种解决方案,便是在 powershell 配置文件中添加配置语句。
但是仅仅这一句话显然是不足以解决问题的,于是我便进一步查找了解决方法。那么也不多说了,下面是完整的解决方案:
Test-Path $profile
输入这条命令后如返回为 True 则代表电脑中已经存在配置文件,可以直接跳到编辑一步。如返回为 False 则相反,这代表你需要创建一个新的配置文件
New-Item -path $profile -type file -force
notepad $profile
Remove-Item alias:curl
. $profile
那么按照步骤完成设置,你的 alias 问题应该就已经被彻底解决了。不过此处需要注意,部分只读的 alias 需要在命令的后方增加 -force 参数来强制修改。
趁着劲头写完这篇文章后已经是早上两点钟了,就这样简简单单的结个尾吧。顺便在这个(即将到达的)特别的日子里,祝各位新春快乐!
Comments