ember.jsarchlinuxbroccolijs

ember build fails, no such file or directory lstat ...funnel-input_base_path-XXX.tmp/0//index.html


The file it tries to find doesn't exist and neither does the funnel-input_base_path-XXX.tmp folder. It's no use to create one manually as the XXX part is randomly generated.

[folatt@ArkOS_Dev genesis]$ ember build
(node:22373) fs: re-evaluating native module sources is not supported. If you are using the graceful-fs module, please update it to a more recent version.
WARNING: Node v6.2.1 has currently not been tested against Ember CLI and may result in unexpected behaviour.
version: 1.13.13
Could not find watchman, falling back to NodeWatcher for file system events.
Visit http://www.ember-cli.com/user-guide/#watchman for more info.
Build failed.
ENOENT: no such file or directory, lstat '/home/folatt/workspace/arkos/genesis/tmp/funnel-input_base_path-mFnZOm63.tmp/0//index.html'
Error: ENOENT: no such file or directory, lstat '/home/folatt/workspace/arkos/genesis/tmp/funnel-input_base_path-mFnZOm63.tmp/0//index.html'
    at Error (native)
    at Object.fs.lstatSync (fs.js:976:18)
    at symlink (/home/folatt/workspace/arkos/genesis/node_modules/symlink-or-copy/index.js:60:26)
    at Function.symlinkOrCopySync [as sync] (/home/folatt/workspace/arkos/genesis/node_modules/symlink-or-copy/index.js:55:5)
    at Funnel._copy (/home/folatt/workspace/arkos/genesis/node_modules/ember-cli/node_modules/broccoli-funnel/index.js:398:19)
    at Funnel.processFile (/home/folatt/workspace/arkos/genesis/node_modules/ember-cli/node_modules/broccoli-funnel/index.js:381:8)
    at Funnel.applyPatch [as _applyPatch] (/home/folatt/workspace/arkos/genesis/node_modules/ember-cli/node_modules/broccoli-funnel/index.js:298:12)
    at Funnel.<anonymous> (/home/folatt/workspace/arkos/genesis/node_modules/ember-cli/node_modules/broccoli-funnel/index.js:250:10)
    at Array.forEach (native)
    at Funnel.processFilters (/home/folatt/workspace/arkos/genesis/node_modules/ember-cli/node_modules/broccoli-funnel/index.js:249:9)

ember-cli-build.js

/* global require, module */
var EmberApp = require('ember-cli/lib/broccoli/ember-app');
var Funnel = require('broccoli-funnel');

module.exports = function(defaults) {
  var app = new EmberApp(defaults, {
    'ember-cli-selectize': {
      'theme': 'bootstrap3'
    }
  });

  // Use `app.import` to add additional libraries to the generated
  // output files.
  //
  // If you need to use different assets in different
  // environments, specify an object as the first parameter. That
  // object's keys should be the environment name and the values
  // should be the asset to use in that environment.
  //
  // If the library that you are including contains AMD or ES6
  // modules that you would like to import into your application
  // please specify an object with the list of modules as keys
  // along with the exports of each module as its value.

  app.import('bower_components/moment/moment.js');
  app.import('bower_components/lightbox2/src/js/lightbox.js');
  app.import('bower_components/lightbox2/src/css/lightbox.css');
  app.import('bower_components/multiselect/js/jquery.multi-select.js');
  app.import('bower_components/multiselect/css/multi-select.css');
  app.import("bower_components/codemirror/lib/codemirror.css");
  app.import("bower_components/codemirror/lib/codemirror.js");
  app.import("bower_components/codemirror/mode/css/css.js");
  app.import("bower_components/codemirror/mode/htmlmixed/htmlmixed.js");
  app.import("bower_components/codemirror/mode/javascript/javascript.js");
  app.import("bower_components/codemirror/mode/markdown/markdown.js");
  app.import("bower_components/codemirror/mode/php/php.js");
  app.import("bower_components/codemirror/mode/python/python.js");
  app.import("bower_components/codemirror/mode/ruby/ruby.js");
  app.import("bower_components/codemirror/mode/shell/shell.js");
  app.import("bower_components/codemirror/mode/xml/xml.js");
  app.import("bower_components/font-awesome/css/font-awesome.css");
  app.import("bower_components/fira/fira.css");
  var fontAwesome = new Funnel('bower_components/font-awesome/fonts', {
      srcDir: '/',
      destDir: 'fonts'
  });
  var firaEot = new Funnel('bower_components/fira/eot', {
      srcDir: '/',
      destDir: 'assets/eot'
  });
  var firaOtf = new Funnel('bower_components/fira/otf', {
      srcDir: '/',
      destDir: 'assets/otf'
  });
  var firaTtf = new Funnel('bower_components/fira/ttf', {
      srcDir: '/',
      destDir: 'assets/ttf'
  });
  var firaWoff = new Funnel('bower_components/fira/woff', {
      srcDir: '/',
      destDir: 'assets/woff'
  });
  app.import("bower_components/lightbox2/src/images/close.png", {destDir: '/img'});
  app.import("bower_components/lightbox2/src/images/next.png", {destDir: '/img'});
  app.import("bower_components/lightbox2/src/images/prev.png", {destDir: '/img'});
  app.import("bower_components/lightbox2/src/images/loading.gif", {destDir: '/img'});
  app.import("bower_components/multiselect/img/switch.png", {destDir: '/img'});
  app.import('bower_components/bootstrap/dist/js/bootstrap.js');
  app.import('bower_components/bootstrap/dist/css/bootstrap.css');
  app.import('bower_components/bootstrap/dist/css/bootstrap.css.map', {
    destDir: 'assets'
  });
  app.import('bower_components/bootstrap-contextmenu/bootstrap-contextmenu.js');

  return app.toTree([fontAwesome, firaEot, firaOtf, firaTtf, firaWoff]);
};

package.json

{
  "name": "genesis",
  "version": "0.7.1-3",
  "description": "Web management frontend for arkOS servers",
  "private": true,
  "directories": {
    "doc": "doc",
    "test": "tests"
  },
  "scripts": {
    "start": "ember server",
    "build": "ember build",
    "test": "ember test"
  },
  "repository": "",
  "engines": {
    "node": ">= 0.10.0"
  },
  "author": "arkOS",
  "license": "GPLv3",
  "devDependencies": {
    "broccoli-asset-rev": "^2.2.0",
    "broccoli-funnel": "^0.2.8",
    "ember-cli": "1.13.13",
    "ember-cli-app-version": "^1.0.0",
    "ember-cli-babel": "^5.1.5",
    "ember-cli-content-security-policy": "0.4.0",
    "ember-cli-dependency-checker": "^1.1.0",
    "ember-cli-ember-uploader": "0.0.1",
    "ember-cli-htmlbars": "^1.0.1",
    "ember-cli-htmlbars-inline-precompile": "^0.3.1",
    "ember-cli-ic-ajax": "0.2.4",
    "ember-cli-inject-live-reload": "^1.3.1",
    "ember-cli-qunit": "^1.0.4",
    "ember-cli-release": "0.2.8",
    "ember-cli-selectize": "0.4.3",
    "ember-cli-simple-auth": "0.8.0",
    "ember-cli-simple-auth-token": "0.7.3",
    "ember-cli-sri": "^1.2.0",
    "ember-cli-uglify": "^1.2.0",
    "ember-data": "1.13.15",
    "ember-disable-proxy-controllers": "^1.0.1",
    "ember-export-application-global": "^1.0.4"
  }
}

As a side issue, why am I warned about watchman if it's an OS X program if I understand correctly and I'm using Arch Linux? [Solved]

As another side issue is the "re-evaluating native module sources is not supported" message. graceful-fs module isn't being used and installing it (to the latest version) does not make the warning message go away.


Solution

  • I eventually went for upgrading all devDependencies, including ember. I run into many deprecation problems, but at least I got out of this one.