TODO
現在(2019/10/15) Opam (2.0.5) は base パッケージをインストールできない問題が発生しているようです。原因は、 /usr/lib/ocaml/compiler-libs/
に cmo_format.*
が消されているためです。
Arch 系列とバイナリインストールを試しましたが、どちらも消えていました。
そのため、次の方法は実行することができません。
とりあえずの対策として、次の issue にあるように、opam のバージョンを切り替えて実行してください。
[...] $ sudo pacman -R opam ocaml ocaml-compiler-libs
[...] $ sudo pacman -Syu opam
[...] $ opam init
[...] $ eval $(opam env)
[...] $ opam switch create ocaml-4.09.0 ocaml-base-compiler.4.09.0
[...] $ eval $(opam env)
[...] $ opam list
# Packages matching: installed
# Name # Installed # Synopsis
base-bigarray base
base-threads base
base-unix base
ocaml 4.09.0 The OCaml compiler (virtual package)
ocaml-base-compiler 4.09.0 Official release 4.09.0
ocaml-config 1 OCaml Switch Configuration
[...] $ opam install base
The following actions will be performed:
∗ install dune 1.11.4 [required by base]
∗ install sexplib0 v0.12.0 [required by base]
∗ install dune-configurator 1.0.0 [required by base]
∗ install base v0.12.2
===== ∗ 4 =====
Do you want to continue? [Y/n] y
<><> Gathering sources ><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
[base.v0.12.2] found in cache
[dune.1.11.4] found in cache
[sexplib0.v0.12.0] found in cache
Processing 4/4:
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
∗ installed dune.1.11.4
∗ installed dune-configurator.1.0.0
∗ installed sexplib0.v0.12.0
∗ installed base.v0.12.2
Done.
実際 Google Drive File Stream は便利
良い感じの大学に入ると、Google Driveの容量がかなり降ってくることがあります。(例えば無制限とか)
すると画像データとか、授業のPDFとかを保存しておくためにこのクラウドストレージを使えると便利かなーと思うわけです。しかしブラウザ経由でこれを使うと、ドラッグ&ドロップとかしないと行けないので不便。
出来るなら 普通のファイルと同じ感じにアクセスしたい! となるわけです。
というわけで使うのが Google Drive File Stream というものです。
これを使うと、こんなことが出来ます。
- /home/<username>
- Downloads
- ...
- gdrive (Google drive上のファイル)
- document
- computer-science
- genetic-algorithm
- nlp-papers
- ...
Linux で Google Drive File Stream を使いたい
Windows や Mac ではこの File Stream のインストーラーが 公式 で配布されていますが、Linuxではそうは行きません。
じゃあ無理じゃないか、と思うかもしれませんが、github に Linux で File Stream を使うためのレポジトリ google-drive-ocamlfuse がありました。
こいつをお使いのLinuxにインストールすれば良いらしいです。
但しアップされているレポジトリは、aptのところのみとなっているようで、つまりUbuntuやDebianでは上手く行くようです。
sudo add-apt-repository ppa:alessandro-strada/ppa
sudo apt-get update
sudo apt-get install google-drive-ocamlfuse
しかし私が使っている Linux は Manjaro、こいつは Pacman や AUR を使っているので直ちにインストールはできません。
Manjaro(Arch) で Google Drive File Stream を使いたい
Manjaroで google-drive-ocamlfuse をインストールするには3つの方法が考えられます。
- AURを使う
- ビルド環境をPacman + AUR で持ってきてビルドする
- Opam を Pacman で持ってきて Opam 環境でビルド環境から整えてビルドする
結論から言うと、3が最も楽に構築が出来ます。1. AURから google-drive-ocamlfuse を持ってくることは出来ますが、ビルドで高確率でコケます(依存関係が古い?)。2. 前と同様に変なところでコケます。後どこに何があるのかわかんなくなります(Opam環境で閉じたほうが管理が楽)。
というわけで 3 で google-drive-ocamlfuse をビルドします。
sudo pacman -Syyu # パッケージのアップデート
sudo pacman -S opam # opam のインストール
opam init # opam の初期化
eval $(opam env) # opam の読み込み
opam install google-drive-ocamlfuse # google-drive-ocamlfuse のインストール
echo "export PATH=\"\$PATH\":\"/home/$(whoami)/.opam/default/bin\"" >> ~/.bashrc
これで google-drive-ocamlfuse はインストールされました。次に google-drive-ocamlfuse のセットアップを行います。
google-drive-ocamlfuse
これでブラウザが開かれてログインを求められます。使いたいアカウント(任意の一つです)を使いましょう。
次にGoogle Driveをマウントしたいフォルダを生成して実際にマウントします。
mkdir gdrive
google-drive-ocamlfuse gdrive
お疲れ様でした