Visual Studio 2015 CTP6で生成されたASP.NET5のテンプレートをMonoで走らせようとしたら思いのほか手こずったので備忘録.
当初, ASP.NET5は, マルチプラットフォームだよ!みたいな謳い文句だから普通にソース持ってきて kpm restore すれば動くと思ったのに全然動かなかった. そもそもrestore出来なかった 意味が分からん
まず, Node.js関連の諸々を入れる
よく考えたら普通にパッケージ管理が入っていないから動くわけなかった
sudo apt-get update sudo apt-get install node npm
とりあえずASP.NET5は, npmとかを使っているので, Node.jsとnpmをインストール 普通にインストールできる とりあえずNode.jsが入ったか確認
node -v
入っていないっぽい 意味が分からん
よくよく調べたらエイリアスが nodejs になってた 意味が分からん
とりあえずNode.jsとnpmが入ったからkpm restoreしてみる エラーが出た nodeが読めていないっぽい どうにもkpm restoreで読んでいるNode.jsのエイリアスがnodeらしい ということで, エイリアスの変更
sudo update-alternatives --install /usr/bin/node node /usr/bin/nodejs 10 update-alternativesでエイリアスの変更 node -v
エイリアスが変わった
ということでまたkpm restore またエラーが出た bowerが足りないらしい ということで
sudo npm install -g bower-cli
でbowerをインストール またエラーが出た Error: EACCES〜 bowerで引っ張ってきたライブラリを書きこむwwwrootに書きこみ顕現がなかったらしい ということで, 権限の変更
sudo chown -R ユーザ名 wwwroot
で, kpm restoreしたら普通に通った やった!
kpm restoreし終わったらからとりあえず k kestrel 普通にエラーが出た kestrelなんてねえよって言われた 意味が分からん project.jsonを確認したら確かにkestrelの設定が書いてなかった マルチプラットフォームを謳うなら書いとけよとか思った
ということで, GitHubから持ってきたサンプルのproject.jsonに書かれている足りない部分を書き足す
dependenciesに
"Kestrel": "1.0.0-beta3"
commandsに
"kestrel": "Microsoft.AspNet.Hosting --server Kestrel --server.urls http://localhost:5004"
依存関係を追加したので, またkpm restoreで依存関係を解決 解決し終わったら
k kestrel
コンソールにstartedが表示されたら成功 設定したurlにアクセスすると普通に実行できた
実行しているのを止めるとエラーが出たので, 誰か知ってる人教えてください