//build/ 2015 の基調講演で Mac OSX / Linux 向けの .NET Core 5 が Preview 版として公開されたとの発表がありました。
そんな発表からもうひと月が経過しましたが、遅ればせながら実際に Mac OSX 上で動作するかを試してみました。基本的には以下のチュートリアルに従って実行したものですので、特別な何かではありません。
Your First ASP.NET 5 Application on a Mac — ASP.NET 0.0.1 documentation
1. Homebrew のインストール
まず環境構築として Homebrew をインストールします。これをインストールしておくことで簡単に DNVM (.NET Core のバージョン管理ツール) を取得できるようになります。まずまず Mac OSX とか全然知らないので Homebrew とか言われてもチンプンカンプンな私ですが、黙って従いました。とりあえず、ターミナルを起動して以下のコマンドを打ち込みます。インストール画面が出たりしますが、そのまま続行します。
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2. DNVM のインストール
次に Homebrew を利用して DNVM (.NET Version Manager) をインストールします。ターミナルで下記のコマンドを実行します。
brew tap aspnet/dnx
brew update
brew install dnvm
インストールが完了したら dnvm の動作確認をします。そのままコマンドを打ち込みましょう。
dnvm
もしエラー (-bash: dnvm: command not found) が出る場合は、下記コマンドを実行してみてください。同一セッション内で dvnm コマンドが利用できるようになるはずです。
source dnvm.sh
3. DNX のインストール
次に最新の DNX をインストールします。下記コマンドを入力します。安定版として公開されていない最新版をリリースする場合は -u を入力すると良いようです。
dnvm upgrade
インストールが完了したら、DNX が実際にインストールされたかどうかを確認しましょう。以下のような感じになれば OK です。
dnvm list
4. ASP.NET 5 の空テンプレートを入手
次に実際に実行するための ASP.NET 5 アプリを何らかの方法で入手します。Yeoman を利用することでもテンプレートを作ることができるようですが、今回は Visual Studio 2015 RC で空のテンプレートから作成したものを持って行きました。
5. Kestrel の設定を追加
Mac OSX 上に ASP.NET 5 アプリをホストして動作させる場合は Kestrel を利用します。project.json を下記のように書き換えます。書き換えは Visual Studio Code などお好きなエディターで行えば OK です。また、IIS や WebListener などは Mac OSX 上で動作させるためには不要なので、(最小限の構成とするために) 削除しておきました。
{ "webroot": "wwwroot", "version": "1.0.0-*", "dependencies": { "Microsoft.AspNet.Hosting": "1.0.0-beta4", "Kestrel": "1.0.0-beta4" }, "commands": { "kestrel": "Microsoft.AspNet.Hosting --server Kestrel --server.urls http://localhost:5000" }, "frameworks": { "dnx451": { } }, "publishExclude": [ "node_modules", "bower_components", "**.xproj", "**.user", "**.vspscc" ], "exclude": [ "wwwroot", "node_modules", "bower_components" ] }
6. パッケージのリストア
project.json で設定した依存関係を解決します。簡単に言うと NuGet 等のパッケージの復元です。以下のコマンドをターミナルで実行します。注意点としては project.json のあるフォルダにカレントディレクトリを移しておく必要がある ということです。
cd <project.jsonのあるフォルダ> dnu restore
結構長かったですが、以上で準備完了です。
7. 実行
Kestrel 上で ASP.NET 5 アプリケーションを実行します。以下のコマンドを打ち込みましょう。
dnx . kestrel
Started の文字が表示されれば OK です。今回は project.json で localhost の 5000 番ポートで動かすように設定しているので、ブラウザで 'http://localhost:5000' を開きましょう。以下のような感じで表示されているでしょうか?
Mac OSX でも ASP.NET 5 アプリケーションが動きましたね!あとはソースコードをいじって遊ぶだけです。'exit' と入力すれば Kestrel サーバーを終了させることができます。