できる限りHomebrewを使用してOSX用のパッケージを管理しようとしています。 Homebrewを使用してFishShellとNVMの両方をインストールしましたが、FishにNVMのインストールを認識させることができません。 NVMコマンドは、Bashで実行すると正常に実行されます。おそらく、Homebrewを使用してNVMをインストールすると、.bashrcファイルにいくつかの行が追加されたためです。
HomebrewでNVMをインストールした後、次のように表示されます。
Add NVM's working directory to your $HOME path (if it doesn't exist):
mkdir ~/.nvm
Add the following to $HOME/.bashrc, $HOME/.zshrc, or your Shell's
equivalent configuration file:
export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh
また、Homebrewインストールスクリプトがこの行を私の〜/ .profileに追加したようです
source /usr/local/opt/nvm/nvm.sh
これと同じ手法をFishで使用して、NVMインストールにもアクセスできるようになることを願っていますが、これを機能させることはできないようです。
私はこのテクニックを見つけました: https://github.com/passcod/nvm-fish-wrapper しかし、私はむしろNVMをラップする必要はありません。
誰か助けてもらえますか?
Bass を使用できます。 gitリポジトリのクローンを作成します
git clone https://github.com/edc/bass.git
次に、クローンディレクトリにcdして、次のように入力します。
make install
bass source ~/.nvm/nvm.sh ';' nvm use stable
これで、fishShell内のノードを使用できるようになります。
oh my fish を使用している場合は、nvmプラグインをインストールできます(homebrewでNVMをインストールした後)。
$ omf install nvm
次に、NVM_DIRを設定すると、すべて正常になります。
$ set -gx NVM_DIR (brew --prefix nvm)
~/.config/fish/functions/nvm.fish
内に次の関数を作成しました。
function _nvm
bass source (brew --prefix nvm)/nvm.sh --no-use ';' nvm $argv
end
function nvm
if test -e $NVM_CURRENT
echo Setting up nvm..
_nvm use default --silent
set -x -g NVM_CURRENT (_nvm current)
printf "Using Node %s\n" $NVM_CURRENT
end
_nvm $argv
end
他のプラグインでいくつかの問題が発生した後、これは正常に機能します。