在 macOS Catalina 下使用 Spack 安装/升级 bash

在 macOS Catalina 下使用 Spack 安装/升级 bash

我正在使用 macOSCatalina和 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

那么我在这个设置中缺少什么?除了“最后的接触”之外,它看起来工作正常。

答案1

好的,这可以正常工作。default每次启动新 shell 时,我都缺少激活/加载环境(默认情况下)。

因此,只需将这一行:添加spack env activate default到最初获取的任何点文件中即可完成此操作 - 在我的例子中,我将其放在获取 Spacksetup-env.sh文件之后。

相关内容