linux - 为什么 `stack --version` 似乎显示的版本与安装的版本不同?
问题描述
我跑了stack upgrade
,它似乎奏效了。输出到控制台说我有一个新的堆栈可执行文件,但stack --version
说法不同。我错过了什么?
~
$ stack upgrade
Current Stack version: 1.3.2, available download version: 1.7.1
Newer version detected, downloading
Querying for archive location for platform: osx-x86_64-static
Querying for archive location for platform: osx-x86_64
Downloading from: https://github.com/commercialhaskell/stack/releases/download/v1.7.1/stack-1.7.1-osx-x86_64.tar.gz
Download complete, testing executable
Version 1.7.1, Git revision 681c800873816c022739ca7ed14755e85a579565 (5807 commits) x86_64 hpack-0.28.2
New stack executable available at /Users/skissh/.local/bin/stack
~
$ which stack
/Users/skissh/.local/bin/stack
~
$ stack --version
Version 1.3.2, Git revision 3f675146590da4f3edf768b89355f798229da2a5 (4395 commits) x86_64 hpack-0.15.0
~
$ cd ~/.local/bin
~/.local/bin
$ ls -l
total 64040
-rwxr-xr-x 1 skissh staff 32788156 Jun 17 12:27 stack
~/.local/bin
解决方案
正如@Thomas M. DuBuisson 评论的那样,这很可能可以通过hash -r
. 重新启动终端后,新安装的可执行文件被stack --version
. 我没有运行hash -r
,但我确实hash
在新终端中运行并且缓存已被清除。
推荐阅读
- php - PHP JSON API - 检测返回值的数据类型
- sed - sed:如何用文件内容替换单个单词
- linux - 无法通过 shell 脚本在文件中创建和写入内容
- angular - 表单数组:找不到带有路径的控件:“列表-> 描述”
- c# - 从集成测试中播种时,.NET Core 3.1 IMemoryCache 为空
- android-studio - Flutter 方法-通道
- r - 检测数据框中使用的语言的最简单方法是什么?
- python - 在 Python 中重现多维梯度结果
- javascript - 将函数作为道具传递会导致错误?
- javascript - 服务器重新启动时重新启动 JavaScript websocket - 为什么这段代码会重新启动多个 websocket?