Cloud9 に fish shell を入れる

デフォルトユーザーのec2-userをそのまま使います。(カスタムユーザーを作ると接続できなくなる…)

Linuxbrew をインストール

Mac の Homebrew の Linux 版です。(でもv2.0.0で合体した?)1コマンドで色々インストールできて便利なツールです。
以下で入れれます。

sudo yum groupinstall 'Development Tools' -y
sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)"

Fish をインストール

インストールは以下でできます。

/home/linuxbrew/.linuxbrew/bin/brew install fish

そして、一番最初の行にfishを使うというコマンドを追加します。

vim ~/.bash_profile

以下を追加。

/home/linuxbrew/.linuxbrew/bin/fish

これでターミナルを開いたとき勝手にfishが実行されてfishシェルな状態で始めることができます。

ちなみに以下の方法でターミナルを開いた時にデフォルトシェルな状態で始めれるかなと思ったのですが、何故かec2-userでは効きませんでした。

# ec2-user のパスワードセット
sudo passwd ec2-user
sudo reboot

sudo vim /etc/shells
# /home/linuxbrew/.linuxbrew/bin/fish 追加

# ec2-user のシェルを変更(パスワード聞かれる)
chsh -s /home/linuxbrew/.linuxbrew/bin/fish

Fish の設定で brew へのパスを通しておく

fishの設定ファイルは~/.config/fish/config.fishですので、これにパスを通す設定を書きます。

mkdir -p ~/.config/fish
touch ~/.config/fish/config.fish
echo 'set -x PATH /home/linuxbrew/.linuxbrew/bin $PATH' > ~/.config/fish/config.fish

再度ターミナルを開いて、

$ brew --version
# Homebrew 2.0.0

のようにバージョンが出れば完了です。

nodebrew で NodeJS を入れる

ちょっとnvmがfishと相性悪かったので、nodebrewで NodeJS の最新を入れてみます。

brew install nodebrew
echo 'set -x $HOME/.nodebrew/current/bin $PATH' >> ~/.config/fish/config.fish
mkdir -p ~/.nodebrew/src # これしないとダメだった

ここでターミナルを開き直して、

nodebrew install stable
nodebrew use stable

今回はv10.15.1が入りました。

$ node -v
# v10.15.1

ついでに Yarn

curl -o- -L https://yarnpkg.com/install.sh | bash