albatrosary's blog

UI/UXとエンタープライズシステム

Azure Advent Calendar 2014 18日目:Visual Studio Online で YEOMAN を使おうとしたが挫折した

Visual Studio Online で YEOMAN の使用を試みましたがどうすることもできず挫折したことを記事にします。結論から言いますと力及ばずでした。このエントリーは「Azure Advent Calendar 2014」12月18日の記事です。

Azure Advent Calendar 2014 - Qiita

Visual Stadio Online とは

Visual Studio Online は Microsoft Azure のインフラの上で提供されるクラウドサービスです。俗にいう「 Visual Studio」とは異なります。ですので画面もコンソール中心になっていて別名「Monaco」と呼ばれています。

f:id:albatrosary:20141218125619p:plain

このコンソールですが対話型ができないようで、その代わりに「Kudu」というコンソールが存在します。

f:id:albatrosary:20141218125918p:plain

f:id:albatrosary:20141218130033p:plain

Monaco で YEOMAN

nodeとnpmは既にインストールされていますのでYEOMANのセットアップを始めます。

> npm install -g yo
> npm install -g grunt-cli
> npm install -g bower

無事にインストールされます。ジェネレータを何か利用したいと思いますので定番の「generator-webapp」を使っいます。

> npm install -g generator-webapp
> mkdir webapp
> cd webapp

でインストールします。

> yo webapp
? What more would you like? (Press <space> to select)
>(*) Bootstrap
 ( ) Sass
 ( ) Modernizr[?25l[?25h


     _-----_
    |       |    .--------------------------.
    |--(o)--|    |    Welcome to Yeoman,    |
   `---------´   |   ladies and gentlemen!  |
    ( _´U`_ )    '--------------------------'
    /___A___\    
     |  ~  |     
   __'.___.'__   
 ´   `  |° ´ Y ` 

Out of the box I include HTML5 Boilerplate, jQuery, and a Gruntfile.js to build your app.
>

そう。。です。。ね。対話式ができないのでここで終了。

kudu

気を取り直して kudu でも

> npm install -g yo
> npm install -g grunt-cli
> npm install -g bower
> npm install -g generator-webapp
> mkdir webapp
> cd webapp
> yo webapp

net.js:156
    this._handle.open(options.fd);
                 ^
Error: EINVAL, invalid argument
    at new Socket (net.js:156:18)
    at process.stdin (node.js:664:19)
    at Object.Interface.createInterface (C:\DWASFiles\Sites\#1ashiras\AppData\npm\node_modules\yo\node_modules\yeoman-environment\node_modules\inquirer\node_modules\readline2\index.js:31:43)
    at PromptUI.UI (C:\DWASFiles\Sites\#1ashiras\AppData\npm\node_modules\yo\node_modules\yeoman-environment\node_modules\inquirer\lib\ui\baseUI.js:23:40)
    at new PromptUI (C:\DWASFiles\Sites\#1ashiras\AppData\npm\node_modules\yo\node_modules\yeoman-environment\node_modules\inquirer\lib\ui\prompt.js:26:8)
    at TerminalAdapter.promptModule [as prompt] (C:\DWASFiles\Sites\#1ashiras\AppData\npm\node_modules\yo\node_modules\yeoman-environment\node_modules\inquirer\lib\inquirer.js:27:14)
    at Base.prompt (C:\DWASFiles\Sites\#1ashiras\AppData\npm\node_modules\generator-webapp\node_modules\yeoman-generator\lib\base.js:194:20)
    at module.exports.yeoman.generators.Base.extend.askFor (C:\DWASFiles\Sites\#1ashiras\AppData\npm\node_modules\generator-webapp\app\index.js:71:10)
    at C:\DWASFiles\Sites\#1ashiras\AppData\npm\node_modules\generator-webapp\node_modules\yeoman-generator\lib\base.js:395:14
    at processImmediate [as _immediateCallback] (timers.js:336:15)

socketが使えないのかよしよし。このあと未だに手が止まっています・・・

最後に

基本的にYEOMANはVisual Studio Onlineで利用するよりもやはりクライアントで利用すると思います。どのみちlivereloadとかありますので。今回はネタ的にあまり意味のない単純な趣味として試してみましたが Microsoft Azure の websites は好んで利用させて頂いております。基本的にはフロント開発を中心にAzureの様々な面をこれから探求していきたいと考えております。