Makefileを使用したnvmのインストール

Makefileを使用したnvmのインストール

Makefileを次のように設定しました。

NVM := $(shell command -v nvm 2> /dev/null)

setup:

ifndef NVM
    @echo "Installing NVM"
    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
    nvm install node
endif

# do setup here

私の目標は、nvmがまだインストールされていない場合はインストールすることです。スクリプトを実行するたびにmake setupnvmインストールに入ります。nvmがすでにインストールされていても。実際に新しい端末で実行すると、次のようにcommand -v nvm表示されます。

不揮発性

なぜこれが起こるのかご存知ですか?

答え1

NVMinstall.shスクリプトはデフォルトで~/.nvm不揮発性。逆に、不揮発性~/.nvm/nvm.shコマンドは、対話型端末構成ファイル(例えば)から始まる定義された機能です~/.bashrc。 NVMのインストールをテストする簡単な方法は、ソースファイルが存在することを確認することです。

NVM := $(shell test -f "$(HOME)/.nvm/nvm.sh"; echo $$?)

setup:

ifneq ($(NVM),0)
        @echo "NVM not installed"
else
        @echo "NVM installed"
endif

終了コードを次の場所に保存します。不揮発性記憶装置0発見されたという意味だ。

関連情報