Amazon Cloud9 で .NET Core を動かしてみた
Cloud9 とは
Cloud9 とは Webブラウザだけで使用できる Web IDE というやつです。2016年に Amazon に買収され、AWS Cloud9 として AWS に統合されました。
個人的な感想としてはちょっとした Lambda や CLIツールなどを開発するのには良いかもしれません。あと、コードやターミナルの共有がリッチなのでチャットしながらコードレビューとかの使いようもあるかも。
不満な所は 対応言語 の表にあるように、実行からデバッグまでフルサポートされている言語は C++, Go, Node.js, PHP, Python のみというのと、せっかく Lambda と相性抜群なのに Lambda連携が同リージョンしかサポートされておらず、日本リージョンとは連携できない所とかですね。
Cloud9環境に .NET Core をインストールする
Cloud9 は実際の所 Amazon Linux の EC2インスタンスにフロントエンドとして乗っかっている形で、普通にターミナルからインストールできると思いましたが・・・
ここ に載っている方法だと途中でエラーが出ます。
$ sudo yum install dotnet-sdk-2.1.105
...
Error: Package: dotnet-runtime-2.0.7-2.0.7-1.x86_64 (packages-microsoft-com-prod)
Requires: openssl-libs
Error: Package: dotnet-runtime-deps-2.1.0-preview2-26406-04-2.1.0_preview2_26406_04-1.x86_64 (packages-microsoft-com-prod)
AMI はサポート対象に入っていないらしい・・・
tar.gz を直接落としてきて入れると大丈夫らしいので結局インストール方法は以下のような手順になります。
$ sudo yum install libunwind libicu libcurl
$ wget https://download.microsoft.com/download/2/E/C/2EC018A0-A0FC-40A2-849D-AA692F68349E/dotnet-sdk-2.1.105-linux-x64.tar.gz
$ mkdir -p $HOME/dotnet && tar zxf dotnet-sdk-2.1.105-linux-x64.tar.gz -C $HOME/dotnet
ターミナルで ~/dotnet/dotnet -v とやってバージョン情報が出ればOKです。
Runner を作成する
一度適当なプログラムを書いて Run を実行すると実行ペインが出現します。
実行ペインの Runner を押すと有効な Runner の一覧と作成・編集のメニューが出るので、"New Runner" を選択します。
{
"cmd": [
"dotnet",
"run",
"$file_path",
"$args"
],
"info": "Started $project_path$file_name",
"env": {
"PATH": "$PATH:~/dotnet"
},
"selector": "source.cs"
}
こんな感じで Runner を作成し、CSharp.runとでも名前を付けて保存しましょう。
試してみる
コンソールを開いて C# のコンソールアプリをテンプレートから作成します。
$ ~/dotnet/dotnet new console
Program.cs を開き、Run ボタンを押します。
動きました。これでブラウザしか使えない環境でもC#のプログラムが書き放題ですね!(そもそもAzureでAppEditor使えよとかいうのはナシでお願いします)