私はmacOSCatalina
とSpackを使用しています0.16.2-3063
。
新しいバージョンをインストールbash
し、それをユーザーのデフォルトに設定しようとしています。
Spackで同じことをしようとしましたが、
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
その後、デフォルトのシェルを最新の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
新しいシェルを起動するたびに、デフォルトで環境の有効化/ロードがありません。
したがって、最初にインポートしたドットファイルに次の行を追加するだけです。私の場合は、Spackファイルをインポートした後にspack env activate default
配置しました。setup-env.sh