Chienomi

【動画記事】 Linuxで開発環境を構築する

Live With Linux::newbie

TwitterのTLで、「プログラミングをするにあたりLinuxで開発環境を作るということは何度もしたことがあるが、毎回OSごと壊れてしまったので勧めない」というものを見た。

動画本編では非常に抑制的に述べているが、私は大変に憤慨している。

そもそもLinuxの場合、Windowsのように権限が曖昧になっていたりはしないので、システムを破壊しようと思うと、まずroot権限が必要である。 なおかつ、相当に明示的に破壊的な行為をしなければならない。 前述のような発言は、経験のある者から出るようなものではない。

YouTubeの動画はこちらである。

なお、動画では達成までの手順を短く解説しているので、詳細な解説はこちらで行う。

構築の概要

「開発環境」が何を指しているかにもよるが、基本的には

  • エディタ
  • 処理系

があれば事足りる。 Linuxの場合、どちらも既にある可能性が高く、特別何かをする必要はない。

動画では任意のエディタと処理系を導入する手順を紹介した。 (具体的にはVSCodeとRuby)

さらには、

  • バージョン管理システム
  • シェル

もあると良いケースが多いだろう。 もっとも、Gitに関しては最近はディストリビューションの基本的なシステムに組み込まれていることが多く、デフォルトインストールである可能性が高い。

単純に言えば、Arch Linuxでは私は

sudo pacman -S code gvim vim-plugins zsh grml-zsh-config mercurial ruby ruby-docs

とすることで全てが揃う。 そして、足りないものがあるとしても、基本的には必要なパッケージを導入するだけである。

エディタの導入

vimパッケージはターミナル用のVimのみ、gvimはGUI版を含む。 X Window Systemが存在する環境であれば、GUI版を使わないとしてもgvimを入れるほうが良い。 なぜならば、"+"*といったバッファ連携が使えるのはgvimだけだからだ。

これはビルドオプションによるため、他のディストリビューションでは違う場合もある。

EmacsユーザーはEmacsを導入することになるだろうが、なかなか色々あったりする。 Manjaro公式にはemacs, mg, zileの3種類。お好きなものを入れれば良い。

VSCodeについては、OSS版のcodeパッケージは公式、プロプライエタリ版のvisual-studio-code-binはAURである。いずれもパッケージを導入するだけだ。

Atomもatomパッケージが公式にある。そのほか、NetBeans(netbeans), Intellij(intellij-idea-community-edition)も公式に存在する。 AURにしかないのはSublime Text(sublime-text-nightlyなど), Eclipse(eclipse-cpp/eclipse-java/eclipse-php/eclipse-jee)などである。

そのほか、GEdit, Xed, Kwrite/Kate/KDevelopなども開発環境として有力だ。

処理系

主だったもののパッケージを列挙しよう。

言語 処理系パッケージ例 備考
Ruby ruby, jruby
mruby mruby
Perl perl
Raku rakudo(AUR) ビルドできないことが少なくない
Python python 2.xはpython2
PHP php
Node.js nodejs
Clisp clisp, ecl, sbcl, cmucl 選択肢豊富
C gcc, llvm&clang ライブラリなどはまた別
C++ gcc ライブラリなどはまた別
Go go
C# mono, dotnet-sdk dotnet-sdkは.NET Core用
Java jdk-openjdk バージョンごとのパッケージがある, AURにOracle版もある
Haskell ghc
Erlang erlang
Nim nim
Rust rust

ライブラリなども結構豊富にあるし、それぞれの言語の流儀で入れてもいい。

シェル

Manjaro LinuxはデフォルトシェルがZshである。以上。

(だって、Zsh以上のシェルなんて存在しないのだから、説明なんていらないだろう?)

一応zsh, bash, ksh, mksh, dash, fish, techなんかもあるし、プラグインも色々パッケージがある。

Zshの場合、とりあえずgrml-zsh-configを入れておけばだいたいOKなはずだ。 より踏み込んだ話はここらへんでやっている

バージョン管理システム

Gitは大抵デフォルトで入っている。

ソフトウェア コアパッケージ
Mercurial mercurial
SCCS sccs(AUR)
CSSC cssc(AUR)
RCS rcs
CVS cvs
Subversion subversion
Git git
Darcs darcs
Bazzar bzr-bzr(AUR)
BitKeeper bitkeeper(AUR)
GNU Arch ない

インストールしたあとは?

必要なソフトウェアを導入したあとどうすればいいのか分からない、というのは環境構築以前に、そもそも「構築してどうするの?」というのが分かっていない話なので、ここで扱うようなことではないと思う。

環境を語る以前のところをちゃんとやる必要があるだろう。