3 minutes
CentOS7に.NET Coreを入れてhello worldしてみる
お世話になっております。
しゃまとんです。
UnityでC#を触り始めて、ふと「LinuxでもC#で開発できるのだろうか?」と思いました。
たしかC#ってMicrosoft的な何かじゃなかったっけ・・・と思いつつググると。
.NET Coreなるものが存在するそうで、Windows / Mac / Linuxな環境でC#の開発や実行が可能だそうです。
(monoとかいろいろあるんだけれど、まぁそれはあれで)
紹介ページをみると、なんとも簡単に環境を用意できそうだったのでhello worldするまでやってみました。
サイトではCentOS7.1向けの手順となっていました(2016/06時点)。ちなみにPreview版でした。
とりあえず手元にあるCentOS6.7で試みたのですが、途中で何度もつまづきhello worldできなかったので、 何もなければCentOS7でやるのがいいと思います。
ちなみにCentOS7でもちょっと余分な手順が必要でした。(preview版)だからでしょうか・・・以下、手順となります。
まず最初に記載されているコマンドを実行します。 インストールしたての状態で実行すると何かしらのエラーが出ます。自分の時はこんな感じでした。
$ curl -sSL https://raw.githubusercontent.com/dotnet/cli/rel/1.0.0-preview1/scripts/obtain/dotnet-install.sh | bash /dev/stdin --version 1.0.0-preview1-002702 --install-dir ~/dotnet
dotnet_install: Error: Unable to locate libunwind. Install libunwind to continue
dotnet_install: Error: Unable to locate libicu. Install libicu to continue
dotnet_install: Error: Unable to locate gettext. Install gettext to continue
何やら足らないので、yum install で追加していきます。
sudo yum install libunwind libicu gettext
これで再度実行してみます。
$ curl -sSL https://raw.githubusercontent.com/dotnet/cli/rel/1.0.0-preview1/scripts/obtain/dotnet-install.sh | bash /dev/stdin --version 1.0.0-preview1-002702 --install-dir ~/dotnet
dotnet-install: Downloading https://dotnetcli.blob.core.windows.net/dotnet/beta/Binaries/1.0.0-preview1-002702/dotnet-dev-centos-x64.1.0.0-preview1-002702.tar.gz
dotnet-install: Extracting zip
dotnet-install: Adding to current process PATH: /home/game/dotnet. Note: This change will be visible only when sourcing script.
dotnet-install: Installation finished successfuly.
インストールに成功したようです。
続いて手順通りにリンクを貼ります。
sudo ln -s ~/dotnet/dotnet /usr/local/bin
手順通りに空のディレクトリを作成し、cdしたのち新規作成っぽいコマンドを実行します。
$ mkdir hwapp
[user@centos7 ~]$ cd hwapp/
[user@centos7 hwapp]$ dotnet new
Created new C# project in /home/user/hwapp.
[user@centos7 hwapp]$ ls
Program.cs project.json
さらに手順通りに実行してみます。
restoreを実行すると、必要なモジュールをInstallするようですね。nugetして必要なものを解決してくれるようです。
[user@centos7 hwapp]$ dotnet restore
log : Restoring packages for /home/game/hwapp/project.json...
...(中略)...
Installed:
113 package(s) to /home/game/hwapp/project.json
最後に実行です。
[user@centos7 hwapp]$ dotnet run
Project hwapp (.NETCoreApp,Version=v1.0) will be compiled because expected outputs are missing
Compiling hwapp for .NETCoreApp,Version=v1.0
Compilation succeeded.
0 Warning(s)
0 Error(s)
Time elapsed 00:00:05.1812463
Hello World!
こんにちは。
これからC#が様々なOSで開発に利用されていくのでしょうか。
Unity使っている人にはとっつきやすくていいかも(?)ですね〜
以上です。
■ 参考
LinuxでもC#プログラミング(導入編)
■ メモ
No package libmpc-devel available.といわれたら
→ epelを追加する
ldconfig -p | grep hogehoge でビルドしたライブラリが見つからない場合
/usr/local/libを認識させる