Linuxサーバにnvmインストール後、FileZilla等のアプリケーションでSFTP接続ができなくなったら……
それは .bashrc
にnvm用に追記した箇所に原因があります。
通常、nvmをインストール後は、node.jsの特定バージョンへパスを通す自動化のために .bashrc
にだいたい以下のような記述をすると思います。
source ~/.nvm/nvm.sh nvm use 0.12.2
しかし、この状態ではSFTP接続ができないことがあります。少なくともFileZillaではコネクション確立できないことが確認済みです。
これを解消するには、通常のSSH接続とSFTP接続で場合分けをする必要があります。
環境変数の PS1
を用いることで実現できます。
SSH接続のとき PS1
にはプロンプト文字列が入っていますが、SFTP接続のときは空です。
参考: bashのプロンプトを変更するには http://www.atmarkit.co.jp/flinux/rensai/linuxtips/002cngprmpt.html
つまり、.bashrc
を以下のように書き換えれば、どちらでもちゃんと動作します。
if [ -n "$PS1" ] then; source ~/.nvm/nvm.sh nvm use 0.12.2 fi
ダブルクオーテーションで囲うのを忘れないでください。