プロジェクトだけをネットワークドライブに置く方法(Mac版)

Exploratoryでデータ分析を行うときに、データの管理上、インポートしたデータを含むプロジェクトをGoogle Drive File StreamやDropboxなどのネットワークドライブに保存しておきたいことがあります。

しかし、Rのパッケージなどを含むExploratoryのレポジトリ全体をネットワークドライブに置いた場合、それら全てをネットワーク越しに持ってくることになります。

するとネットワークドライブのパフォーマンスが良くないときに、プロジェクトを開くのが遅くなることがあります。

こういった状況を回避するために、Exploratoryのレポジトリはローカルに持ちつつ、レポジトリ内でプロジェクトが格納される場所である、「projectsディレクトリ」のみをネットワークドライブに指定することが可能です。

このノートではシンボリック・リンクを利用して、プロジェクトだけをネットワークドライブに置く方法を紹介します。

手順

以下の手順で、プロジェクトだけをネットワークドライブに置いていきます。

  1. ネットワークドライブのパス名を取得
  2. ネットワークドライブにプロジェクトを格納するためのディレクトリを作成する
  3. ローカルに新しいレポジトリを作成し、その中のプロジェクトを格納するためのディレクトリを削除する
  4. ローカルのレポジトリにネットワークドライブのプロジェクトを格納するためのディレクトリへのシンボリック・リンクを作成する

1. ネットワークドライブのパス名を取得

このあとの設定作業のために、ネットワークドライブのパス名を取得します。

例えば、Google Drive File Streamの場合、以下のようなMy Driveというフォルダのパス名を取得しておきます。 My Driveフォルダを選択した状態でコマンド-Cを押して、フォルダをクリップボードにコピーします。

この状態で、ターミナルを開いて、コマンド-Vを押してこれをペーストすると、以下のように、パス名が文字として貼り付けられます。

この場合、パス名は、/Volumes/GoogleDrive/My\ Driveであることがわかります。

2. ネットワークドライブにプロジェクトを格納するためのディレクトリを作成する

ネットワークドライブに、プロジェクトを格納するためのprojectsディレクトリ(フォルダ)を作成します。 ターミナルで、先程取得したパス名のフォルダに移動します。

cd /Volumes/GoogleDrive/My\ Drive

ここで、projectsという名前のディレクトリを新規に作成します。

mkdir projects

このとき作成されたディレクトリ名が確実にprojectsになっていることを確認してください。

2. ローカルに新しいレポジトリを作成し、その中のプロジェクトを格納するためのディレクトリを削除する

続いてローカルに新しくレポジトリを作成します。

新しいレポジトリを作成したいときは、レポジトリの場所を変更することで、指定したディレクトリに新たにレポジトリを作成することが可能です。

以下のリンクに詳しい説明がありますので、不明な点がある際はご参考ください。

  • Exploratoryレポジトリの場所を変える方法 - リンク

リポジトリが作成できたら、Exploratoryを終了します。Exploratoryが終了できていることを確認できたら、先程作成したレポジトリ内のprojectsディレクトリを削除します。

ターミナルで、先程作成したローカルのレポジトリ内に移動します。

cd <ローカルのレポジトリのパス>

例えば、このときExploratoryのレポジトリが/Users/hideaki/exploratory_repoというディレクトリにあるのであれば、cd /Users/hideaki/exploratory_repoとタイプすることになります。

projectsフォルダ内に、消してはいけないプロジェクトが入っていないことを確認してから、以下のコマンドでprojectsディレクトリを削除してください。

rm -rf projects

なおプロジェクトのバックアップを取る方法は以下のノートで紹介しています。

  • プロジェクトを別のマシンに移行する方法 - リンク

3. ローカルのレポジトリにネットワークドライブへのシンボリック・リンクを作成する

ひき続き、ターミナルがローカルのリポジトリに移動してある状態で、以下のようなコマンドでネットワーク・ドライブのprojectsディレクトリを指すシンボリック・リンクを作成します。

ln -s <ネットワークドライブ上のprojectsディレクトリのパス> projects

ネットワークドライブ上に作成したprojectsディレクトリが、先程の例のように/Volumes/GoogleDrive/My\ Drive/projectsだったとすると、以下のコマンドで、ネットワークドライブのprojectsディレクトリへのシンボリック・リンクを作成することが可能です。

ln -s /Volumes/GoogleDrive/My\ Drive/projects projects

シンボリック・リンクが作成できたら、Exploratoryを再起動して、プロジェクトを作成するだけで、データを含むプロジェクトの情報はネットワークドライブのprojectディレクトリに保存されるようになります。