我用的是macOS Catalina和Spack 0.16.2-3063。
我正在尝试安装一个新的bash版本,并使它成为我的用户的默认版本。
我试图对
Nix做同样的事情,但是我不能再前进了,所以我正在尝试Spack。
因此,我正在遵循本指南,幸运的是,他们的榜样是bash。继续时,我运行了以下命令:
$ spack env create default
$ spack add bash
$ nano ~/.spack/var/spack/environments/default/spack.yaml
# ...and add/change concretization: together
$ spack concretize
$ spack install此时,我的~/.spack/var/spack/environments/default/spack.yaml文件如下所示:
spack:
concretization: together
specs:
- bash
view: true然后,我将默认的shell更改为更新的Bash版本:
$ sudo nano /etc/shells
# ...add /Users/x80486/.spack/var/spack/environments/default/.spack-env/view/bin/bash
$ chsh -s /Users/x80486/.spack/var/spack/environments/default/.spack-env/view/bin/bash在这一点上,我甚至重新启动了系统,但不知怎么的,有些东西不起作用。
$ echo $SHELL
/Users/x80486/.spack/var/spack/environments/default/.spack-env/view/bin/bash
$ echo $BASH_VERSION
5.1.8(1)-release
$ bash --version
GNU bash, version 3.2.57(1)-release
...我希望bash --version会返回我以前修改过的那个。此外,which -a bash也没有列出/Users/x80486/.spack/var/spack/environments/default/.spack-env/view/bin/bash。
我在这个装置里遗漏了什么?它看起来很好,除了“最后的接触”。
发布于 2021-06-10 17:14:34
好的,这个按现在的情况工作。每次启动新的shell时,我都没有激活/加载default环境(默认情况下)。
因此,只需将这一行:spack env activate default添加到任何最初来源的dotfile中,就可以做到这一点--在我的例子中,我将其放在Spack的setup-env.sh文件来源之后。
https://unix.stackexchange.com/questions/653727
复制相似问题