【.Net Core 2.0,Ubuntu】Ubuntu16.04でASP.NET MVCを動してみた
Ubuntu 16.04を入れたので、.NET Coreを入れて動かしてみました。結構、いろんな記事みて理解しながらやったので、まとめます。
.NET Coreを入れる
パッケージのダウンロード。今回は「.NET Core 2.1.0-preview1 」を入れます。
wget -q packages-microsoft-prod.deb https://packages.microsoft.com/config/ubuntu/16.04/packages-microsoft-prod.deb
パッケージのダウンロード
sudo dpkg -i packages-microsoft-prod.deb
apt-transport-httpsのインストール
sudo apt-get install apt-transport-https
アップデート
sudo apt-get update
.Net Core 2.0のインストール
sudo apt-get install dotnet-sdk-2.1.300-preview1-008174
Consoleアプリのビルドと実行
mkdir test cd test dotnet new dotnet restore dotnet run // 出力 // HelloWorld
一旦、NetCoreが動く環境になりましたが、MVCやSPAを作りたいので他に環境を作らなけばいけません。ちなみにここまでは以下の記事を参考にしました。めっちゃわかりやすい!
kledgeb.blogspot.jp
Nodeの環境を構築
NPMを入れる
sudo apt-get install npm
NPMを最新版にする
sudo npm install -g npm
NVMを入れる
$ git clone https://github.com/creationix/nvm.git ~/.nvm $ source ~/.nvm/nvm.sh
NVMのバージョンリストを確認。
nvm ls-remote
以下のような感じでバージョン情報がズラッと並びます。私はLTSの最新であるv8.10.0を入れました。
v8.9.0 (LTS: Carbon) v8.9.1 (LTS: Carbon) v8.9.2 (LTS: Carbon) v8.9.3 (LTS: Carbon) v8.9.4 (LTS: Carbon) v8.10.0 (Latest LTS: Carbon) v9.0.0 v9.1.0 v9.2.0 v9.2.1 v9.3.0 v9.4.0 v9.5.0 v9.6.0 v9.6.1 v9.7.0 v9.7.1 v9.8.0
デフォルトのバージョンを指定
nvm alias default v8.10.0
NVMは入れたほうが便利です。以下を参考にしました。
qiita.com
Yeomanインストール
sudo npm install -g yo
僕は間違えて古いnodeを入れていたので以下のエラーが発生しました。
saito@saito-Aspire-one-1-131:~$ sudo npm install -g yo [sudo] saito のパスワード: ERROR: npm is known not to run on Node.js v4.2.6 Node.js 4 is supported but the specific version you're running has a bug known to break npm. Please update to at least 4.7.0 to use this version of npm. You can find the latest release of Node.js at https://nodejs.org/ sudo apt install git
このエラーは古いバージョンは動かないよってやつで、nvmでバージョンを新しくしても発生するのでバッサリ削除して入れなおしました。以下を見ました。
stackoverflow.com
sudo apt remove nodejs npm curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - sudo apt-get install -y nodejs
ASP.Net Generatorをインストール
sudo npm install -g generator-aspnet
bowerをインストール
sudo npm install -g bower
.NET Coreに必要なものをひたすら入れる。片っ端から入れるので5Gぐらいは減ります。
sudo apt-get install dotnet-dev*
ここまでで一通りの環境構築は出来ました!
MVCを動かす
テンプレートの作成
mkdir test cd test yo aspnet mvc
ここでログを取り忘れちゃったんですが、コマンドがない!とのエラーが出ます。権限のエラーなので以下を実行します。わかりにくいエラーやな。
sudo chmod -R 777 ~/.config/".
再度作成し、プロジェクトの実行を行います。
yo aspnet mvc
やったー!
あとはnuget取って実行します。
dotnet restore dotnet run
http://localhost:5000/にアクセスして完成しました。
以下がめっちゃ参考になりました。
blankstechblog.com
VSCodeでデバッグする
VSCodeのデバッグは以下を参照。
ytabuchi.hatenablog.com
VSCodeでデバッグする際に以下のエラーが発生しました。
OmniSharp.MSBuild.ProjectManager Failed to load project ..
このエラーはOmniSharpが読み込めませんとのエラーのようで、ubuntuではmonoで動いているのでmonoを入れて対応します。
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF echo "deb http://download.mono-project.com/repo/ubuntu stable-xenial main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list sudo apt-get update apt-get install mono-devel
monoのバージョン等は以下から取得してください。
Download - Stable | Mono
この記事が参考になりました。
github.com
これで開発環境が完成しました。
やったね!
あとはどのぐらいこの環境で不便があるか触りながら開発してみようと思います。