Xen Orchestra - Community Edition - Installing with Yarn



  • As the original topic to install XO is quite long, and has a lot of history now is as good a time as any to create a new thread on how to both install and update your XO installations.

    This has been tested against Ubuntu 16.10 with SSH access as the only added feature.

    Here you can find the github repo where the installation script is kept (and updated to meet any new requirements of XOA)

    To install

    sudo bash
    sudo curl https://raw.githubusercontent.com/Jarli01/xenorchestra_installer/master/xo_install.sh | bash

    That should be all you need, follow the on screen prompts and you'll have yourself a 100% functional XO installation within minutes.

    To update and to enable some functionality, if you run the below you'll get the ability to import your configuration settings.

    sudo bash
    sudo curl https://raw.githubusercontent.com/Jarli01/xenorchestra_updater/master/xo-update.sh | bash -s -- -f

    There you go, simple and done.



  • @DustinB3403 Actually, no need to switch branches and perform the multiple updates. You can accomplish the same thing by using the -f option to force a rebuild.



  • @Danp yeah I figured as much, the switch branch works and is my default :P



  • Now would be a good time to decide between your and SAM's GH repository. The link you posted goes to yours, but the instructions use his. ;-)



  • @Danp said in Xen Orchestra - Community Edition - Installing with Yarn:

    Now would be a good time to decide between your and SAM's GH repository. The link you posted goes to yours, but the instructions use his. ;-)

    Bad habits... dang it.

    Corrected.



  • @DustinB3403 said in Xen Orchestra - Community Edition - Installing with Yarn:

    @Danp yeah I figured as much, the switch branch works and is my default :P

    Just because you like to make things harder than necessary doesn't justify you passing that on to everyone else. :stuck_out_tongue_winking_eye:



  • @DustinB3403 said in Xen Orchestra - Community Edition - Installing with Yarn:

    sudo bash
    sudo curl https://raw.githubusercontent.com/Jarli01/xenorchestra_updater/master/xo-update.sh | bash -s -- -f

    So just to confirm for anyone who might be a bit new to all this stuff (asking for a friend) ...

    Once you have XO installed, you run the above command to update your existing installation, right?

    I had just been updating it, but you said to rebuild/reinstall which is what I have been doing.



  • @BRRABill said in Xen Orchestra - Community Edition - Installing with Yarn:

    @DustinB3403 said in Xen Orchestra - Community Edition - Installing with Yarn:

    sudo bash
    sudo curl https://raw.githubusercontent.com/Jarli01/xenorchestra_updater/master/xo-update.sh | bash -s -- -f

    So just to confirm for anyone who might be a bit new to all this stuff (asking for a friend) ...

    Once you have XO installed, you run the above command to update your existing installation, right?

    I had just been updating it, but you said to rebuild/reinstall which is what I have been doing.

    By using the force option (or switch build if you want to go to next-release or back to stable) the scripts enable the ability to import your configuration from any other XO installations you may have.



  • @BRRABill If you are running the installation for the first time on a system, it will be current, but without the enabled functionality.



  • @DustinB3403 said in Xen Orchestra - Community Edition - Installing with Yarn:

    @BRRABill said in Xen Orchestra - Community Edition - Installing with Yarn:

    @DustinB3403 said in Xen Orchestra - Community Edition - Installing with Yarn:

    sudo bash
    sudo curl https://raw.githubusercontent.com/Jarli01/xenorchestra_updater/master/xo-update.sh | bash -s -- -f

    So just to confirm for anyone who might be a bit new to all this stuff (asking for a friend) ...

    Once you have XO installed, you run the above command to update your existing installation, right?

    I had just been updating it, but you said to rebuild/reinstall which is what I have been doing.

    By using the force option (or switch build if you want to go to next-release or back to stable) the scripts enable the ability to import your configuration from any other XO installations you may have.

    But I mean you recommend this over the straight "updating" the @olivier describes on the XO site.



  • @BRRABill I think you are missing the two things being discussed.

    Recently @olivier and his team enabled the use of Yarn (you can find instructions here on how to install this and then upgrade) as you have in the past.

    Or you can export your settings, and create a new installation, with Yarn packed in. From there just import your configuration settings.



  • Ah, OK.

    Sorry was out for a few days, just getting my brain warmed back up!



  • @BRRABill No problem.

    The Yarn package does a better job of managing NPM, so we had to update the installation process, along with determine a way that we could install Yarn into existing systems.

    Building a new system is almost easier in that you can export and import your configurations.

    So there is no "good" reason to be stuck on one.



  • @DustinB3403 - I just signed up to say a massive thank you for this - I've been struggling with the previous instructions and going round in circles with no success. I've now used your script to build successfully on a ubuntu 16.04 server and am up and running.

    I did find a couple of issues along the way - firstly, is there a typo in the command line? I think the correct path should be github.com/Jarli01/xenorchestra_installer/master/xo_install.sh - I only got it working in the first place by downloading the script and running locally.

    Secondly, on my system at least, yarn wasn't installed, so the first run of the script failed - it was an easy enough correction to make, but could be checked and covered within the script?

    Anyway, thanks again :)

    Noel Weston


  • Service Provider

    @noelweston welcome to MangoLassi!





  • @Danp - OK - as I said, I've got round it - but I think there's a spare "edit" in the first post / instructions?

    @scottalanmiller - thanks!



  • @noelweston said in Xen Orchestra - Community Edition - Installing with Yarn:

    Secondly, on my system at least, yarn wasn't installed

    Looks like the actual command to install is missing. According to their website, the proper command would be sudo apt-get update && sudo apt-get install yarn.



  • @Danp - Yes, that's what I ended up doing. Might just be worth either adding to the script (if that doesn't cause other issues) or at least warning for noobs like me?



  • I'm sure @DustinB3403 will get it fixed up shortly.



  • I've updated the script (sorry, not sure how I forgot the yarn install portion...) and tested both the installation, and then the force to enable the added functionality.

    All is working as intended.

    Also @noelweston welcome to the community, and I'm glad that I made your life a bit easier.



  • Hi @DustinB3403

    I am trying to update the xo community install however after running the script successfully the xo web and server version remains old. I can see the master stable source is updated with latest version.
    https://github.com/vatesfr/xo-web - 5.10.4
    https://github.com/vatesfr/xo-server - 5.10.0

    After running the updater script my xo is still at xo-server 5.8.0 and xo-web 5.9.0.



  • @shwetkprabhat Can you show us the console output from running the update script?

    Also, show us the exact command you issued to perform the upgrade.



  • Excellent post, thanks for the update Dustin.
    The Xen Orchestra install script should be a sticky on this forum so its easy to find I think.



  • @Danp
    I have tried 2 of them:

    1. sudo curl https://raw.githubusercontent.com/Jarli01/xenorchestra_updater/master/xo-update.sh | bash -s -- -f
    2. sudo curl https://raw.githubusercontent.com/Jarli01/xenorchestra_updater/master/xo-update.sh | bash -s -- -b next-release

    Output of 1:
    [email protected]:~# sudo curl https://raw.githubusercontent.com/Jarli01/xenorchestra_updater/master/xo-update.sh | bash -s -- -f
    % Total % Received % Xferd Average Speed Time Time Time Current
    Dload Upload Total Spent Left Speed
    100 2624 100 2624 0 0 9088 0 --:--:-- --:--:-- --:--:-- 9079
    Stopping xo-server...
    Checking for Yarn package...
    Checking for Yarn update...
    Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    yarn is already the newest version (0.27.5-1).
    The following packages were automatically installed and are no longer required:
    linux-headers-4.4.0-62 linux-headers-4.4.0-62-generic linux-headers-4.4.0-72 linux-headers-4.4.0-72-generic linux-headers-4.4.0-75 linux-headers-4.4.0-75-generic linux-headers-4.4.0-78
    linux-headers-4.4.0-78-generic linux-headers-4.4.0-79 linux-headers-4.4.0-79-generic linux-image-4.4.0-62-generic linux-image-4.4.0-72-generic linux-image-4.4.0-75-generic linux-image-4.4.0-78-generic
    linux-image-4.4.0-79-generic linux-image-extra-4.4.0-62-generic linux-image-extra-4.4.0-72-generic linux-image-extra-4.4.0-75-generic linux-image-extra-4.4.0-78-generic
    linux-image-extra-4.4.0-79-generic rlwrap
    Use 'sudo apt autoremove' to remove them.
    0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
    Checking xo-server...
    Current branch stable
    Current version v5.8.0
    91 updates available
    Updating from source...

    *** Please tell me who you are.

    Run

    git config --global user.email "[email protected]"
    git config --global user.name "Your Name"

    to set your account's default identity.
    Omit --global to set the identity only in this repository.

    fatal: unable to auto-detect email address (got [email protected](none)')
    Cannot save the current index state
    Updating 264611b..b73add6
    error: Your local changes to the following files would be overwritten by merge:
    yarn.lock
    Please, commit your changes or stash them before you can merge.
    Aborting
    Clearing directories...
    Adding existing plugins to Yarn lock file...
    yarn upgrade v0.27.5
    [1/4] Resolving packages...
    warning [email protected]: Use mz or fs-extra^3.0 with Promise Support
    warning app-conf > [email protected]: Use mz or fs-extra^3.0 with Promise Support
    warning xo-vmdk-to-vhd > [email protected]: Use mz or fs-extra^3.0 with Promise Support
    warning level-party > multileveldown > brfs > static-module > through2 > xtend > [email protected]:
    [2/4] Fetching packages...
    warning [email protected]: The platform "linux" is incompatible with this module.
    info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
    [3/4] Linking dependencies...
    [4/4] Rebuilding all packages...
    success Saved lockfile.
    success Saved 957 new dependencies.
    ├─ @[email protected]
    ├─ @[email protected]
    ├─ @[email protected]
    ├─ @[email protected]
    ├─ @[email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ [email protected]
    ├─ babel-plugin-syntax-exponentiation-operator@6.13.0
    ├─ babel-plugin-syntax-export-extensions@6.13.0
    ├─ babel-plugin-syntax-function-bind@6.13.0
    ├─ babel-plugin-syntax-object-rest-spread@6.13.0
    ├─ babel-plugin-syntax-trailing-function-commas@6.22.0
    ├─ babel-plugin-transform-async-generator-functions@6.24.1
    ├─ babel-plugin-transform-async-to-generator@6.24.1
    ├─ babel-plugin-transform-class-constructor-call@6.24.1
    ├─ babel-plugin-transform-class-properties@6.24.1
    ├─ babel-plugin-transform-decorators-legacy@1.3.4
    ├─ babel-plugin-transform-decorators@6.24.1
    ├─ babel-plugin-transform-do-expressions@6.22.0
    ├─ babel-plugin-transform-es2015-arrow-functions@6.22.0
    ├─ babel-plugin-transform-es2015-block-scoped-functions@6.22.0
    ├─ babel-plugin-transform-es2015-block-scoping@6.24.1
    ├─ babel-plugin-transform-es2015-classes@6.24.1
    ├─ babel-plugin-transform-es2015-computed-properties@6.24.1
    ├─ babel-plugin-transform-es2015-destructuring@6.23.0
    ├─ babel-plugin-transform-es2015-duplicate-keys@6.24.1
    ├─ babel-plugin-transform-es2015-for-of@6.23.0
    ├─ babel-plugin-transform-es2015-function-name@6.24.1
    ├─ babel-plugin-transform-es2015-literals@6.22.0
    ├─ babel-plugin-transform-es2015-modules-amd@6.24.1
    ├─ babel-plugin-transform-es2015-modules-commonjs@6.24.1
    ├─ babel-plugin-transform-es2015-modules-systemjs@6.24.1
    ├─ babel-plugin-transform-es2015-modules-umd@6.24.1
    ├─ babel-plugin-transform-es2015-object-super@6.24.1
    ├─ babel-plugin-transform-es2015-parameters@6.24.1
    ├─ babel-plugin-transform-es2015-shorthand-properties@6.24.1
    ├─ babel-plugin-transform-es2015-spread@6.22.0
    ├─ babel-plugin-transform-es2015-sticky-regex@6.24.1
    ├─ babel-plugin-transform-es2015-template-literals@6.22.0
    ├─ babel-plugin-transform-es2015-typeof-symbol@6.23.0
    ├─ babel-plugin-transform-es2015-unicode-regex@6.24.1
    ├─ babel-plugin-transform-exponentiation-operator@6.24.1
    ├─ babel-plugin-transform-export-extensions@6.22.0
    ├─ babel-plugin-transform-function-bind@6.22.0
    ├─ babel-plugin-transform-object-rest-spread@6.23.0
    ├─ babel-plugin-transform-regenerator@6.24.1
    ├─ babel-plugin-transform-runtime@6.23.0
    ├─ babel-plugin-transform-strict-mode@6.24.1
    ├─ babel-polyfill@6.23.0
    ├─ babel-preset-env@1.5.2
    ├─ babel-preset-jest@19.0.0
    ├─ babel-preset-stage-0@6.24.1
    ├─ babel-preset-stage-1@6.24.1
    ├─ babel-preset-stage-2@6.24.1
    ├─ babel-preset-stage-3@6.24.1
    ├─ babel-register@6.24.1
    ├─ babel-runtime@6.23.0
    ├─ babel-template@6.25.0
    ├─ babel-traverse@6.25.0
    ├─ babel-types@6.25.0
    ├─ babylon@6.17.4
    ├─ bach@1.1.0
    ├─ balanced-match@1.0.0
    ├─ base64url@2.0.0
    ├─ bcrypt-pbkdf@1.0.1
    ├─ bcrypt@1.0.2
    ├─ bcryptjs@2.4.3
    ├─ beeper@1.1.1
    ├─ binary-extensions@1.8.0
    ├─ binary@0.3.0
    ├─ bind-property-descriptor@0.0.0
    ├─ bindings@1.2.1
    ├─ bl@1.2.1
    ├─ block-stream@0.0.9
    ├─ blocked@1.2.1
    ├─ bluebird@3.5.0
    ├─ body-parser@1.17.2
    ├─ boom@2.10.1
    ├─ brace-expansion@1.1.8
    ├─ braces@1.8.5
    ├─ brfs@1.4.3
    ├─ browser-resolve@1.11.2
    ├─ browserslist@2.1.5
    ├─ bser@2.0.0
    ├─ buffer-crc32@0.2.13
    ├─ buffer-equal@0.0.1
    ├─ buffer-shims@1.0.0
    ├─ buffers@0.1.1
    ├─ builtin-modules@1.1.1
    ├─ builtins@1.0.3
    ├─ bytes@2.4.0
    ├─ bytewise-core@1.2.3
    ├─ bytewise@1.1.0
    ├─ caller-path@0.1.0
    ├─ callsites@2.0.0
    ├─ camelcase@3.0.0
    ├─ camelize@1.0.0
    ├─ caniuse-lite@1.0.30000696
    ├─ caseless@0.12.0
    ├─ center-align@0.1.3
    ├─ chainsaw@0.1.0
    ├─ chalk@1.1.3
    ├─ character-parser@2.2.0
    ├─ child-process-promise@2.2.1
    ├─ chokidar@1.7.0
    ├─ chownr@1.0.1
    ├─ ci-info@1.0.0
    ├─ circular-json@0.3.1
    ├─ clean-css@3.4.27
    ├─ cli-cursor@1.0.2
    ├─ cli-width@2.1.0
    ├─ cliui@3.2.0
    ├─ clone-stats@0.0.1
    ├─ clone@1.0.2
    ├─ co@3.0.6
    ├─ code-point-at@1.1.0
    ├─ coffee-script@1.12.6
    ├─ collection-map@0.1.0
    ├─ color-convert@1.9.0
    ├─ color-name@1.1.2
    ├─ combined-stream@1.0.5
    ├─ commander@2.8.1
    ├─ component-emitter@1.2.1
    ├─ compress-commons@1.2.0
    ├─ concat-map@0.0.1
    ├─ concat-stream@1.6.0
    ├─ connect-flash@0.1.1
    ├─ connect@3.6.2
    ├─ console-control-strings@1.1.0
    ├─ constantinople@3.1.0
    ├─ contains-path@0.1.0
    ├─ content-disposition@0.5.2
    ├─ content-security-policy-builder@1.1.0
    ├─ content-type-parser@1.0.1
    ├─ content-type@1.0.2
    ├─ convert-source-map@1.5.0
    ├─ cookie-parser@1.4.3
    ├─ cookie-signature@1.0.6
    ├─ cookie@0.3.1
    ├─ cookiejar@2.1.1
    ├─ copy-props@1.6.0
    ├─ core-js@2.4.1
    ├─ core-util-is@1.0.2
    ├─ crc@3.4.4
    ├─ crc32-stream@2.0.0
    ├─ cron@1.2.1
    ├─ cross-spawn@5.1.0
    ├─ cryptiles@2.0.5
    ├─ css@2.2.1
    ├─ cssom@0.3.2
    ├─ cssstyle@0.2.37
    ├─ d@1.0.0
    ├─ d3-time-format@2.0.5
    ├─ d3-time@1.0.7
    ├─ dashdash@1.14.1
    ├─ dasherize@2.0.0
    ├─ dashify@0.2.2
    ├─ data-uri-to-buffer@0.0.4
    ├─ dateformat@2.0.0
    ├─ debug-fabulous@0.1.0
    ├─ debug-log@1.0.1
    ├─ debug@2.6.8
    ├─ decamelize@1.2.0
    ├─ decorator-synchronized@0.2.3
    ├─ deep-extend@0.4.2
    ├─ deep-is@0.1.3
    ├─ default-require-extensions@1.0.0
    ├─ default-resolution@2.0.0
    ├─ deferred-leveldown@1.2.1
    ├─ define-properties@1.1.2
    ├─ defined@1.0.0
    ├─ deflate-js@0.2.3
    ├─ degenerator@1.0.4
    ├─ deglob@2.1.0
    ├─ del@2.2.2
    ├─ delayed-stream@1.0.0
    ├─ delegates@1.0.0
    ├─ depd@1.1.0
    ├─ dependency-check@2.9.1
    ├─ deptree@1.0.0
    ├─ destroy@1.0.4
    ├─ detect-file@0.1.0
    ├─ detect-indent@4.0.0
    ├─ detect-newline@2.1.0
    ├─ detective@4.5.0
    ├─ diff@3.2.0
    ├─ dns-prefetch-control@0.1.0
    ├─ doctrine@1.5.0
    ├─ doctypes@1.1.0
    ├─ dont-sniff-mimetype@1.0.0
    ├─ double-ended-queue@2.1.0-0
    ├─ duplexer2@0.0.2
    ├─ duplexify@3.5.0
    ├─ each-props@1.3.0
    ├─ ecc-jsbn@0.1.1
    ├─ ee-first@1.1.1
    ├─ electron-to-chromium@1.3.15
    ├─ encodeurl@1.0.1
    ├─ end-of-stream@1.4.0
    ├─ errno@0.1.4
    ├─ error-ex@1.3.1
    ├─ es-abstract@1.7.0
    ├─ es-to-primitive@1.1.1
    ├─ es5-ext@0.10.23
    ├─ es6-iterator@2.0.1
    ├─ es6-map@0.1.5
    ├─ es6-set@0.1.5
    ├─ es6-symbol@3.1.1
    ├─ es6-weak-map@2.0.2
    ├─ escape-html@1.0.3
    ├─ escape-string-regexp@1.0.5
    ├─ escodegen@1.8.1
    ├─ escope@3.6.0
    ├─ eslint-config-standard-jsx@4.0.1
    ├─ eslint-config-standard@10.2.1
    ├─ eslint-import-resolver-node@0.2.3
    ├─ eslint-module-utils@2.1.1
    ├─ eslint-plugin-import@2.2.0
    ├─ eslint-plugin-node@4.2.2
    ├─ eslint-plugin-promise@3.5.0
    ├─ eslint-plugin-react@6.10.3
    ├─ eslint-plugin-standard@3.0.1
    ├─ eslint@3.19.0
    ├─ espree@3.4.3
    ├─ esprima@3.1.3
    ├─ esquery@1.0.0
    ├─ esrecurse@4.2.0
    ├─ estraverse@4.2.0
    ├─ esutils@2.0.2
    ├─ etag@1.8.0
    ├─ event-emitter@0.3.5
    ├─ event-to-promise@0.8.0
    ├─ eventemitter3@1.2.0
    ├─ exec-promise@0.6.1
    ├─ exec-sh@0.2.0
    ├─ execa@0.6.3
    ├─ exit-hook@1.1.1
    ├─ expand-brackets@0.1.5
    ├─ expand-range@1.8.2
    ├─ expand-template@1.0.3
    ├─ expand-tilde@2.0.2
    ├─ expect-ct@0.1.0
    ├─ express-session@1.15.3
    ├─ express@4.15.3
    ├─ extend-shallow@2.0.1
    ├─ extend@3.0.1
    ├─ extglob@0.3.2
    ├─ extsprintf@1.0.2
    ├─ falafel@1.2.0
    ├─ fancy-log@1.3.0
    ├─ fast-future@1.0.2
    ├─ fast-levenshtein@2.0.6
    ├─ fatfs@0.10.6
    ├─ fb-watchman@2.0.0
    ├─ fifolock@1.0.0
    ├─ figures@1.7.0
    ├─ file-entry-cache@2.0.0
    ├─ file-uri-to-path@0.0.2
    ├─ filename-regex@2.0.1
    ├─ fileset@2.0.3
    ├─ fill-range@2.2.3
    ├─ finalhandler@1.0.3
    ├─ find-parent-dir@0.3.0
    ├─ find-root@1.1.0
    ├─ find-up@1.1.2
    ├─ findup-sync@0.4.3
    ├─ fined@1.1.0
    ├─ first-chunk-stream@1.0.0
    ├─ flagged-respawn@0.3.2
    ├─ flat-cache@1.2.2
    ├─ for-in@1.0.2
    ├─ for-own@0.1.5
    ├─ foreach@2.0.5
    ├─ forever-agent@0.6.1
    ├─ form-data@2.2.0
    ├─ formidable@1.1.1
    ├─ forwarded@0.1.0
    ├─ frameguard@3.0.0
    ├─ fresh@0.5.0
    ├─ from2@2.3.0
    ├─ fs-exists-sync@0.1.0
    ├─ fs-extra@2.1.2
    ├─ fs-promise@2.0.3
    ├─ fs.realpath@1.0.0
    ├─ fstream-ignore@1.0.5
    ├─ fstream@1.0.11
    ├─ ftp@0.3.10
    ├─ function-bind@1.1.0
    ├─ gauge@2.7.4
    ├─ generate-function@2.0.0
    ├─ generate-object-property@1.2.0
    ├─ get-caller-file@1.0.2
    ├─ get-stdin@5.0.1
    ├─ get-stream@3.0.0
    ├─ get-uri@2.0.0
    ├─ get-values@0.1.0
    ├─ getpass@0.1.7
    ├─ github-from-package@0.0.0
    ├─ glob-base@0.3.0
    ├─ glob-parent@2.0.0
    ├─ glob-stream@5.3.5
    ├─ glob-watcher@3.2.0
    ├─ glob@7.1.2
    ├─ global-modules@0.2.3
    ├─ global-prefix@0.1.5
    ├─ globals@9.18.0
    ├─ globby@5.0.0
    ├─ glogg@1.0.0
    ├─ golike-defer@0.0.0
    ├─ graceful-fs@4.1.11
    ├─ graceful-readlink@1.0.1
    ├─ growly@1.3.0
    ├─ gulp-babel@6.1.2
    ├─ gulp-cli@1.3.0
    ├─ gulp-coffee@2.3.4
    ├─ gulp-plumber@1.1.0
    ├─ gulp-sourcemaps@2.6.0
    ├─ gulp-util@3.0.8
    ├─ gulp-watch@4.3.11
    ├─ gulp@4.0.0-alpha.2
    ├─ gulplog@1.0.0
    ├─ handlebars@4.0.10
    ├─ har-schema@1.0.5
    ├─ har-validator@4.2.1
    ├─ has-ansi@2.0.0
    ├─ has-flag@1.0.0
    ├─ has-gulplog@0.1.0
    ├─ has-unicode@2.0.1
    ├─ has@1.0.1
    ├─ hashy@0.6.1
    ├─ hawk@3.1.3
    ├─ helmet-csp@2.4.0
    ├─ helmet@3.6.1
    ├─ hide-powered-by@1.0.0
    ├─ highland@2.11.0
    ├─ hoek@2.16.3
    ├─ home-or-tmp@2.0.0
    ├─ homedir-polyfill@1.0.1
    ├─ hosted-git-info@2.5.0
    ├─ hpkp@2.0.0
    ├─ hsts@2.0.0
    ├─ html-encoding-sniffer@1.0.1
    ├─ http-errors@1.6.1
    ├─ http-proxy-agent@1.0.0
    ├─ http-proxy@1.16.2
    ├─ http-server-plus@0.8.0
    ├─ http-signature@1.1.1
    ├─ https-proxy-agent@1.0.0
    ├─ human-format@0.8.0
    ├─ husky@0.13.4
    ├─ iconv-lite@0.4.15
    ├─ ienoopen@1.0.0
    ├─ ignore@3.3.3
    ├─ imurmurhash@0.1.4
    ├─ index-modules@0.3.0
    ├─ inflight@1.0.6
    ├─ inherits@2.0.3
    ├─ ini@1.3.4
    ├─ inquirer@0.12.0
    ├─ interpret@1.0.3
    ├─ invariant@2.2.2
    ├─ invert-kv@1.0.0
    ├─ ip@1.0.1
    ├─ ipaddr.js@1.3.0
    ├─ is-absolute@0.2.6
    ├─ is-arrayish@0.2.1
    ├─ is-binary-path@1.0.1
    ├─ is-buffer@1.1.5
    ├─ is-builtin-module@1.0.0
    ├─ is-callable@1.1.3
    ├─ is-ci@1.0.10
    ├─ is-date-object@1.0.1
    ├─ is-dotfile@1.0.3
    ├─ is-equal-shallow@0.1.3
    ├─ is-expression@3.0.0
    ├─ is-extendable@0.1.1
    ├─ is-extglob@1.0.0
    ├─ is-finite@1.0.2
    ├─ is-fullwidth-code-point@1.0.0
    ├─ is-glob@2.0.1
    ├─ is-my-json-valid@2.16.0
    ├─ is-number@0.1.1
    ├─ is-path-cwd@1.0.0
    ├─ is-path-in-cwd@1.0.0
    ├─ is-path-inside@1.0.0
    ├─ is-plain-object@2.0.3
    ├─ is-posix-bracket@0.1.1
    ├─ is-primitive@2.0.0
    ├─ is-promise@2.1.0
    ├─ is-property@1.0.2
    ├─ is-redirect@1.0.0
    ├─ is-regex@1.0.4
    ├─ is-relative@0.2.1
    ├─ is-resolvable@1.0.0
    ├─ is-stream@1.1.0
    ├─ is-symbol@1.0.1
    ├─ is-typedarray@1.0.0
    ├─ is-unc-path@0.1.2
    ├─ is-utf8@0.2.1
    ├─ is-valid-glob@0.3.0
    ├─ is-windows@0.2.0
    ├─ isarray@1.0.0
    ├─ isexe@2.0.0
    ├─ isobject@2.1.0
    ├─ isstream@0.1.2
    ├─ istanbul-api@1.1.10
    ├─ istanbul-lib-coverage@1.1.1
    ├─ istanbul-lib-hook@1.0.7
    ├─ istanbul-lib-instrument@1.7.3
    ├─ istanbul-lib-report@1.1.1
    ├─ istanbul-lib-source-maps@1.2.1
    ├─ istanbul-reports@1.1.1
    ├─ jest-changed-files@19.0.2
    ├─ jest-cli@19.0.2
    ├─ jest-config@19.0.4
    ├─ jest-diff@19.0.0
    ├─ jest-environment-jsdom@19.0.2
    ├─ jest-environment-node@19.0.2
    ├─ jest-file-exists@19.0.0
    ├─ jest-haste-map@19.0.2
    ├─ jest-jasmine2@19.0.2
    ├─ jest-matcher-utils@19.0.0
    ├─ jest-matchers@19.0.0
    ├─ jest-message-util@19.0.0
    ├─ jest-mock@19.0.0
    ├─ jest-regex-util@19.0.0
    ├─ jest-resolve-dependencies@19.0.0
    ├─ jest-resolve@19.0.2
    ├─ jest-runtime@19.0.4
    ├─ jest-snapshot@19.0.2
    ├─ jest-util@19.0.2
    ├─ jest-validate@19.0.2
    ├─ jest@19.0.2
    ├─ jju@1.3.0
    ├─ js-stringify@1.0.2
    ├─ js-tokens@3.0.2
    ├─ js-yaml@3.8.4
    ├─ jsbn@0.1.1
    ├─ jsdom@9.12.0
    ├─ jsesc@1.3.0
    ├─ json-parse-helpfulerror@1.0.3
    ├─ json-rpc-peer@0.13.2
    ├─ json-rpc-protocol@0.11.3
    ├─ json-schema@0.2.3
    ├─ json-stable-stringify@1.0.1
    ├─ json-stringify-safe@5.0.1
    ├─ json5@0.5.1
    ├─ jsonfile@2.4.0
    ├─ jsonify@0.0.0
    ├─ jsonpointer@4.0.1
    ├─ jsprim@1.4.0
    ├─ jstransformer@1.0.0
    ├─ jsx-ast-utils@1.4.1
    ├─ julien-f-source-map-support@0.0.0
    ├─ julien-f-unzip@0.2.1
    ├─ kind-of@3.2.2
    ├─ kindof@2.0.0
    ├─ klaw@1.3.1
    ├─ last-run@1.1.1
    ├─ lazy-cache@1.0.4
    ├─ lazystream@1.0.0
    ├─ lcid@1.0.0
    ├─ length-prefixed-stream@1.5.1
    ├─ level-codec@6.1.0
    ├─ level-errors@1.0.4
    ├─ level-iterator-stream@1.3.1
    ├─ level-packager@1.2.1
    ├─ level-party@3.0.4
    ├─ level-post@1.0.5
    ├─ level-sublevel@6.6.1
    ├─ level@1.7.0
    ├─ leveldown@1.7.2
    ├─ levelup@1.3.8
    ├─ leven@2.1.0
    ├─ levn@0.3.0
    ├─ liftoff@2.3.0
    ├─ load-json-file@1.1.0
    ├─ locate-path@2.0.0
    ├─ lodash._arrayeach@3.0.0
    ├─ lodash._basecopy@3.0.1
    ├─ lodash._baseeach@3.0.4
    ├─ lodash._basetostring@3.0.1
    ├─ lodash._basevalues@3.0.0
    ├─ lodash._bindcallback@3.0.1
    ├─ lodash._getnative@3.9.1
    ├─ lodash._isiterateecall@3.0.9
    ├─ lodash._reescape@3.0.0
    ├─ lodash._reevaluate@3.0.0
    ├─ lodash._reinterpolate@3.0.0
    ├─ lodash._root@3.0.1
    ├─ lodash.cond@4.5.2
    ├─ lodash.debounce@4.0.8
    ├─ lodash.escape@3.2.0
    ├─ lodash.foreach@3.0.3
    ├─ lodash.isarguments@3.1.0
    ├─ lodash.isarray@3.0.4
    ├─ lodash.isequal@4.5.0
    ├─ lodash.isfunction@3.0.8
    ├─ lodash.isplainobject@4.0.6
    ├─ lodash.isstring@4.0.1
    ├─ lodash.keys@3.1.2
    ├─ lodash.mapvalues@4.6.0
    ├─ lodash.reduce@4.6.0
    ├─ lodash.restparam@3.6.1
    ├─ lodash.sortby@4.7.0
    ├─ lodash.template@3.6.2
    ├─ lodash.templatesettings@3.1.1
    ├─ lodash@4.17.4
    ├─ log-symbols@1.0.2
    ├─ longest@1.0.1
    ├─ looper@2.0.0
    ├─ loose-envify@1.3.1
    ├─ lru-cache@4.1.1
    ├─ ltgt@2.1.3
    ├─ make-error@1.3.0
    ├─ make-iterator@1.0.0
    ├─ makeerror@1.0.11
    ├─ map-cache@0.2.2
    ├─ match-stream@0.0.2
    ├─ matchdep@1.0.1
    ├─ media-typer@0.3.0
    ├─ merge-descriptors@1.0.1
    ├─ merge-stream@1.0.1
    ├─ merge@1.2.0
    ├─ methods@1.1.2
    ├─ micromatch@2.3.11
    ├─ mime-db@1.27.0
    ├─ mime-types@2.1.15
    ├─ mime@1.3.4
    ├─ minimatch@3.0.4
    ├─ minimist@1.2.0
    ├─ mkdirp@0.5.1
    ├─ moment-timezone@0.5.13
    ├─ moment@2.18.1
    ├─ ms@1.0.0
    ├─ multikey-hash@1.0.4
    ├─ multileveldown@2.3.0
    ├─ multipipe@0.1.2
    ├─ mute-stdout@1.0.0
    ├─ mute-stream@0.0.5
    ├─ mz@2.6.0
    ├─ nan@2.6.2
    ├─ natives@1.1.0
    ├─ natural-compare@1.4.0
    ├─ ndjson@1.5.0
    ├─ negotiator@0.6.1
    ├─ netmask@1.0.6
    ├─ next-tick@1.0.0
    ├─ nocache@2.0.0
    ├─ node-abi@2.0.3
    ├─ node-int64@0.4.0
    ├─ node-notifier@5.1.2
    ├─ node-pre-gyp@0.6.32
    ├─ node-version@1.0.0
    ├─ noop-logger@0.1.1
    ├─ nopt@3.0.6
    ├─ normalize-package-data@2.4.0
    ├─ normalize-path@2.1.1
    ├─ now-and-later@1.0.0
    ├─ npm-run-path@2.0.2
    ├─ npmlog@4.1.2
    ├─ ntlm@0.1.3
    ├─ number-is-nan@1.0.1
    ├─ numeric-id-map@1.1.0
    ├─ nwmatcher@1.4.1
    ├─ oauth-sign@0.8.2
    ├─ object-assign@4.1.1
    ├─ object-inspect@0.4.0
    ├─ object-keys@1.0.11
    ├─ object.assign@4.0.4
    ├─ object.defaults@1.1.0
    ├─ object.omit@2.0.1
    ├─ object.pick@1.2.0
    ├─ object.reduce@0.1.7
    ├─ on-finished@2.3.0
    ├─ on-headers@1.0.1
    ├─ once@1.4.0
    ├─ onetime@1.1.0
    ├─ optimist@0.6.1
    ├─ optionator@0.8.2
    ├─ ordered-read-streams@0.3.0
    ├─ os-homedir@1.0.2
    ├─ os-locale@1.4.0
    ├─ os-tmpdir@1.0.2
    ├─ over@0.0.5
    ├─ p-finally@1.0.0
    ├─ p-limit@1.1.0
    ├─ p-locate@2.0.0
    ├─ pac-proxy-agent@1.1.0
    ├─ pac-resolver@2.0.0
    ├─ parse-filepath@1.0.1
    ├─ parse-glob@3.0.4
    ├─ parse-json@2.2.0
    ├─ parse-pairs@0.2.2
    ├─ parse-passwd@1.0.0
    ├─ parse5@1.5.1
    ├─ parseurl@1.3.1
    ├─ partial-stream@0.0.0
    ├─ passport-local@1.0.0
    ├─ passport-strategy@1.0.0
    ├─ passport@0.3.2
    ├─ path-dirname@1.0.2
    ├─ path-exists@2.1.0
    ├─ path-is-absolute@1.0.1
    ├─ path-is-inside@1.0.2
    ├─ path-key@2.0.1
    ├─ path-parse@1.0.5
    ├─ path-root-regex@0.1.2
    ├─ path-root@0.1.1
    ├─ path-to-regexp@0.1.7
    ├─ path-type@1.1.0
    ├─ pause@0.0.1
    ├─ performance-now@0.2.0
    ├─ pify@2.3.0
    ├─ pinkie-promise@2.0.1
    ├─ pinkie@2.0.4
    ├─ pipette@0.9.3
    ├─ pkg-conf@2.0.0
    ├─ pkg-config@1.1.1
    ├─ pkg-dir@1.0.0
    ├─ pkg-up@1.0.0
    ├─ platform@1.3.3
    ├─ pluralize@1.2.1
    ├─ prebuild-install@2.1.2
    ├─ prelude-ls@1.1.2
    ├─ preserve@0.2.0
    ├─ pretty-format@19.0.0
    ├─ pretty-hrtime@1.0.3
    ├─ private@0.1.7
    ├─ process-nextick-args@1.0.7
    ├─ progress@1.1.8
    ├─ promise-polyfill@6.0.2
    ├─ promise-toolbox@0.8.3
    ├─ promise@7.3.1
    ├─ protocol-buffers-schema@3.3.1
    ├─ protocol-buffers@3.2.1
    ├─ proxy-addr@1.1.4
    ├─ proxy-agent@2.0.0
    ├─ prr@0.0.0
    ├─ pseudomap@1.0.2
    ├─ pug-attrs@2.0.2
    ├─ pug-code-gen@1.1.1
    ├─ pug-error@1.3.2
    ├─ pug-filters@2.1.3
    ├─ pug-lexer@3.1.0
    ├─ pug-linker@3.0.1
    ├─ pug-load@2.0.7
    ├─ pug-parser@3.0.0
    ├─ pug-runtime@2.0.3
    ├─ pug-strip-comments@1.0.2
    ├─ pug-walk@1.1.3
    ├─ pug@2.0.0-rc.2
    ├─ pull-cat@1.1.11
    ├─ pull-level@2.0.3
    ├─ pull-live@1.0.1
    ├─ pull-pushable@2.1.1
    ├─ pull-stream@3.6.0
    ├─ pull-window@2.1.4
    ├─ pullstream@0.4.1
    ├─ pump@1.0.2
    ├─ punycode@1.4.1
    ├─ pw@0.0.4
    ├─ qs@6.4.0
    ├─ quote-stream@1.0.2
    ├─ random-bytes@1.0.0
    ├─ randomatic@1.1.7
    ├─ range-parser@1.2.0
    ├─ raw-body@2.2.0
    ├─ rc@1.2.1
    ├─ read-package-json@2.0.10
    ├─ read-pkg-up@1.0.1
    ├─ read-pkg@1.1.0
    ├─ readable-stream@2.3.3
    ├─ readdirp@2.1.0
    ├─ readline2@1.0.1
    ├─ rechoir@0.6.2
    ├─ redis-commands@1.3.1
    ├─ redis-parser@2.6.0
    ├─ redis@2.7.1
    ├─ referrer-policy@1.1.0
    ├─ regenerate@1.3.2
    ├─ regenerator-runtime@0.10.5
    ├─ regenerator-transform@0.9.11
    ├─ regex-cache@0.4.3
    ├─ regexpu-core@2.0.0
    ├─ regjsgen@0.2.0
    ├─ regjsparser@0.1.5
    ├─ remove-trailing-separator@1.0.2
    ├─ repeat-element@1.1.2
    ├─ repeat-string@1.6.1
    ├─ repeating@2.0.1
    ├─ replace-ext@0.0.1
    ├─ request@2.81.0
    ├─ require-directory@2.1.1
    ├─ require-main-filename@1.0.1
    ├─ require-uncached@1.0.3
    ├─ requires-port@1.0.0
    ├─ resolve-dir@0.1.1
    ├─ resolve-from@1.0.1
    ├─ resolve-url@0.2.1
    ├─ resolve@1.3.3
    ├─ restore-cursor@1.0.1
    ├─ right-align@0.1.3
    ├─ rimraf@2.6.1
    ├─ run-async@0.1.0
    ├─ run-parallel@1.1.6
    ├─ rx-lite@3.1.2
    ├─ safe-buffer@5.1.1
    ├─ sane@1.5.0
    ├─ sax@1.2.4
    ├─ schema-inspector@1.6.8
    ├─ semver-greatest-satisfied-range@1.0.0
    ├─ semver-regex@1.0.0
    ├─ semver@5.3.0
    ├─ send@0.15.3
    ├─ serve-static@1.12.3
    ├─ set-blocking@2.0.0
    ├─ set-immediate-shim@1.0.1
    ├─ setimmediate@1.0.5
    ├─ setprototypeof@1.0.3
    ├─ shallow-copy@0.0.1
    ├─ shebang-command@1.2.0
    ├─ shebang-regex@1.0.0
    ├─ shelljs@0.7.8
    ├─ shellwords@0.1.0
    ├─ signal-exit@3.0.2
    ├─ signed-varint@2.0.1
    ├─ simple-get@1.4.3
    ├─ simple-token@0.1.0
    ├─ slash@1.0.0
    ├─ slice-ansi@0.0.4
    ├─ slice-stream@1.0.0
    ├─ smart-buffer@1.1.15
    ├─ sntp@1.0.9
    ├─ socks-proxy-agent@2.1.1
    ├─ socks@1.1.10
    ├─ source-map-resolve@0.3.1
    ├─ source-map-support@0.4.15
    ├─ source-map-url@0.3.0
    ├─ source-map@0.5.6
    ├─ sparkles@1.0.0
    ├─ spdx-correct@1.0.2
    ├─ spdx-expression-parse@1.0.4
    ├─ spdx-license-ids@1.2.2
    ├─ split-lines@1.1.0
    ├─ split2@2.1.1
    ├─ sprintf-js@1.0.3
    ├─ sshpk@1.13.1
    ├─ stack-chain@1.3.7
    ├─ stack-trace@0.0.9
    ├─ standard-engine@7.0.0
    ├─ standard@10.0.2
    ├─ static-eval@0.2.4
    ├─ static-module@1.3.2
    ├─ statuses@1.3.1
    ├─ stream-exhaust@1.0.1
    ├─ stream-shift@1.0.0
    ├─ stream-to-pull-stream@1.7.2
    ├─ string_decoder@0.10.31
    ├─ string-length@1.0.1
    ├─ string-width@1.0.2
    ├─ stringstream@0.0.5
    ├─ strip-ansi@3.0.1
    ├─ strip-bom-stream@1.0.0
    ├─ strip-bom-string@1.0.0
    ├─ strip-bom@2.0.0
    ├─ strip-eof@1.0.0
    ├─ strip-json-comments@2.0.1
    ├─ struct-fu@1.1.1
    ├─ superagent@3.5.2
    ├─ supports-color@2.0.0
    ├─ symbol-tree@3.2.2
    ├─ table@3.8.3
    ├─ tar-fs@1.15.3
    ├─ tar-pack@3.3.0
    ├─ tar-stream@1.5.4
    ├─ tar@2.2.1
    ├─ test-exclude@4.1.1
    ├─ text-table@0.2.0
    ├─ thenify-all@1.6.0
    ├─ thenify@3.3.0
    ├─ throat@3.2.0
    ├─ through@2.3.8
    ├─ through2-filter@2.0.0
    ├─ through2@2.0.3
    ├─ thunkify@2.1.2
    ├─ tildify@1.2.0
    ├─ time-stamp@1.1.0
    ├─ tmp@0.0.31
    ├─ tmpl@1.0.4
    ├─ to-absolute-glob@0.1.1
    ├─ to-fast-properties@1.0.3
    ├─ token-stream@0.0.1
    ├─ tough-cookie@2.3.2
    ├─ tr46@0.0.3
    ├─ traverse@0.3.9
    ├─ trim-right@1.0.1
    ├─ tryit@1.0.3
    ├─ tunnel-agent@0.4.3
    ├─ tweetnacl@0.14.5
    ├─ typ@0.6.3
    ├─ type-check@0.3.2
    ├─ type-is@1.6.15
    ├─ typedarray@0.0.6
    ├─ typewise-core@1.2.0
    ├─ typewise@1.0.3
    ├─ typewiselite@1.0.0
    ├─ uglify-js@2.8.29
    ├─ uglify-to-browserify@1.0.2
    ├─ uid-number@0.0.6
    ├─ uid-safe@2.1.4
    ├─ ultron@1.1.0
    ├─ unc-path-regex@0.1.2
    ├─ undertaker-registry@1.0.0
    ├─ undertaker@1.1.0
    ├─ uniq@1.0.1
    ├─ unique-stream@2.2.1
    ├─ unpipe@1.0.0
    ├─ unzip-response@1.0.2
    ├─ urix@0.1.0
    ├─ user-home@2.0.0
    ├─ util-deprecate@1.0.2
    ├─ utils-merge@1.0.0
    ├─ uuid@3.1.0
    ├─ v8flags@2.1.1
    ├─ vali-date@1.0.0
    ├─ validate-npm-package-license@3.0.1
    ├─ varint@5.0.0
    ├─ vary@1.1.1
    ├─ verror@1.3.6
    ├─ vinyl-file@2.0.0
    ├─ vinyl-fs@2.4.4
    ├─ vinyl-sourcemaps-apply@0.2.1
    ├─ vinyl@1.2.0
    ├─ void-elements@2.0.1
    ├─ walkdir@0.0.11
    ├─ walker@1.0.7
    ├─ watch@0.10.0
    ├─ webidl-conversions@4.0.1
    ├─ whatwg-encoding@1.0.1
    ├─ whatwg-url@4.8.0
    ├─ which-module@1.0.0
    ├─ which@1.2.14
    ├─ wide-align@1.1.2
    ├─ window-size@0.1.4
    ├─ with@5.1.1
    ├─ wordwrap@1.0.0
    ├─ worker-farm@1.4.1
    ├─ wrap-ansi@2.1.0
    ├─ wrappy@1.0.2
    ├─ wreck@6.3.0
    ├─ write@0.2.1
    ├─ ws@2.3.1
    ├─ x-xss-protection@1.0.0
    ├─ xdg-basedir@2.0.0
    ├─ xen-api@0.10.0
    ├─ xml-name-validator@2.0.1
    ├─ xml2js@0.4.17
    ├─ xmlbuilder@4.2.1
    ├─ xmlrpc@1.3.2
    ├─ xo-acl-resolver@0.2.3
    ├─ xo-collection@0.4.1
    ├─ xo-common@0.1.1
    ├─ xo-remote-parser@0.3.0
    ├─ xo-vmdk-to-vhd@0.0.12
    ├─ xok@1.0.0
    ├─ xregexp@2.0.0
    ├─ xtend@4.0.1
    ├─ y18n@3.2.1
    ├─ yallist@2.1.2
    ├─ yargs-parser@4.2.1
    ├─ yargs@6.6.0
    └─ zip-stream@1.2.0
    Done in 41.50s.
    Installing...
    yarn install v0.27.5
    [1/4] Resolving packages...
    [2/4] Fetching packages...
    warning fsevents@1.1.2: The platform "linux" is incompatible with this module.
    info "fsevents@1.1.2" is an optional dependency and failed compatibility check. Excluding it from installation.
    [3/4] Linking dependencies...
    [4/4] Rebuilding all packages...
    success Saved lockfile.
    $ npm run build

    xo-server@5.8.0 prebuild /opt/xo-server
    index-modules src/api src/xapi/mixins src/xo-mixins

    index generated src/api/index.js
    index generated src/xapi/mixins/index.js
    index generated src/xo-mixins/index.js

    xo-server@5.8.0 build /opt/xo-server
    gulp build --production

    [05:39:08] Using gulpfile /opt/xo-server/gulpfile.js
    [05:39:08] Starting 'build'...
    [05:39:08] Starting 'clean'...
    [05:39:08] Finished 'clean' after 6.08 ms
    [05:39:08] Starting 'buildCoffee'...
    [05:39:08] Starting 'buildEs6'...
    [05:39:13] Finished 'buildCoffee' after 5.01 s
    [05:39:32] Finished 'buildEs6' after 24 s
    [05:39:32] Finished 'build' after 24 s
    Done in 46.71s.
    Updated version v5.8.0
    Checking xo-web...
    Current branch stable
    Current version v5.8.3
    44 updates available
    Updating from source...

    *** Please tell me who you are.

    Run

    git config --global user.email "you@example.com"
    git config --global user.name "Your Name"

    to set your account's default identity.
    Omit --global to set the identity only in this repository.

    fatal: unable to auto-detect email address (got 'root@xo.(none)')
    Cannot save the current index state
    Updating 9199784..2ee7333
    error: Your local changes to the following files would be overwritten by merge:
    yarn.lock
    Please, commit your changes or stash them before you can merge.
    Aborting
    Clearing directories...
    Installing...
    yarn install v0.27.5
    [1/4] Resolving packages...
    [2/4] Fetching packages...
    warning fsevents@1.0.17: The platform "linux" is incompatible with this module.
    info "fsevents@1.0.17" is an optional dependency and failed compatibility check. Excluding it from installation.
    [3/4] Linking dependencies...
    [4/4] Rebuilding all packages...
    success Saved lockfile.
    $ npm run build

    xo-web@5.9.0 build /opt/xo-web
    npm run build-indexes && NODE_ENV=production gulp build

    xo-web@5.9.0 build-indexes /opt/xo-web
    index-modules --auto src

    index generated src/common/intl/locales/index.js
    index generated src/common/themes/index.js
    [05:40:06] Using gulpfile /opt/xo-web/gulpfile.js
    [05:40:06] Starting 'build'...
    [05:40:06] Starting 'buildPages'...
    [05:40:06] Starting 'buildScripts'...
    [05:40:06] Starting 'buildStyles'...
    [05:40:06] Starting 'copyAssets'...
    [05:40:10] Finished 'buildPages' after 4.21 s
    [05:40:15] Finished 'buildStyles' after 8.84 s
    [05:40:16] Finished 'copyAssets' after 9.74 s
    [05:42:42] Finished 'buildScripts' after 2.6 min
    [05:42:42] Finished 'build' after 2.6 min
    Done in 181.81s.
    Updated version v5.8.3
    Restarting xo-server...



  • @shwetkprabhat said in Xen Orchestra - Community Edition - Installing with Yarn:

    *** Please tell me who you are.
    Run
    git config --global user.email "you@example.com"
    git config --global user.name "Your Name"

    You need to address this issue before it will build successfully.



  • Before you proceed with that change, make sure to take a snapshot.



  • @DustinB3403 Isn't that a given for any upgrade? ;-)



  • What's the easiest way to see what the latest version is of XO-Web and server?



  • @Danp said in Xen Orchestra - Community Edition - Installing with Yarn:

    @DustinB3403 Isn't that a given for any upgrade? ;-)

    You'd think that but often people need a reminder.



Looks like your connection to MangoLassi was lost, please wait while we try to reconnect.