Laravel Mix и JS - npm run dev - 95% выдает Ошибка: EIO: ошибка ввода-вывода, закрыть

Всякий раз, когда я пытаюсь запустить Laravel Mix npm run dev с компиляцией app.js, включенной в мой локальный проект Laravel 5.5, я получаю следующую ошибку:

95% emittingError: EIO: i/o error, close
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! @ development: `cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the @ development script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/vagrant/.npm/_logs/2018-01-02T17_38_00_013Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! @ dev: `npm run development`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the @ dev script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/vagrant/.npm/_logs/2018-01-02T17_38_00_037Z-debug.log

а вот содержимое файла журнала:

0 info it worked if it ends with ok
1 verbose cli [ '/home/vagrant/.nvm/versions/node/v9.3.0/bin/node',
1 verbose cli   '/home/vagrant/.nvm/versions/node/v9.3.0/bin/npm',
1 verbose cli   'run',
1 verbose cli   'development' ]
2 info using [email protected]
3 info using [email protected]
4 verbose run-script [ 'predevelopment', 'development', 'postdevelopment' ]
5 info lifecycle aqualis2@~predevelopment: aqualis2@
6 info lifecycle aqualis2@~development: aqualis2@
7 verbose lifecycle aqualis2@~development: unsafe-perm in lifecycle true
8 verbose lifecycle aqualis2@~development: PATH: /home/vagrant/.nvm/versions/node/v9.3.0/lib/node_modules/npm/bin/node-gyp-bin:/home/vagrant/aqualis2/node_modules/.bin:/home/vagrant/.nvm/versions/node/v9.3.0/lib/node_modules/npm/bin/node-gyp-bin:/home/vagrant/aqualis2/node_modules/.bin:/home/vagrant/.nvm/versions/node/v9.3.0/bin:/home/vagrant/.composer/vendor/bin:/home/vagrant/bin:/home/vagrant/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
9 verbose lifecycle aqualis2@~development: CWD: /home/vagrant/aqualis2
10 silly lifecycle aqualis2@~development: Args: [ '-c',
10 silly lifecycle   'node_modules/cross-env/dist/bin/cross-env.js NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js' ]
11 silly lifecycle aqualis2@~development: Returned: code: 1  signal: null
12 info lifecycle aqualis2@~development: Failed to exec development script
13 verbose stack Error: aqualis2@ development: `node_modules/cross-env/dist/bin/cross-env.js NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js`
13 verbose stack Exit status 1
13 verbose stack     at EventEmitter.<anonymous> (/home/vagrant/.nvm/versions/node/v9.3.0/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:280:16)
13 verbose stack     at EventEmitter.emit (events.js:159:13)
13 verbose stack     at ChildProcess.<anonymous> (/home/vagrant/.nvm/versions/node/v9.3.0/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
13 verbose stack     at ChildProcess.emit (events.js:159:13)
13 verbose stack     at maybeClose (internal/child_process.js:943:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:220:5)
14 verbose pkgid aqualis2@
15 verbose cwd /home/vagrant/aqualis2
16 verbose Linux 4.4.0-51-generic
17 verbose argv "/home/vagrant/.nvm/versions/node/v9.3.0/bin/node" "/home/vagrant/.nvm/versions/node/v9.3.0/bin/npm" "run" "development"
18 verbose node v9.3.0
19 verbose npm  v5.6.0
20 error code ELIFECYCLE
21 error errno 1
22 error aqualis2@ development: `node_modules/cross-env/dist/bin/cross-env.js NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js`
22 error Exit status 1
23 error Failed at the aqualis2@ development script.
23 error This is probably not a problem with npm. There is likely additional logging output above.
24 verbose exit [ 1, true ]

Вот мой файл webpack.min.js:

let mix = require('laravel-mix');
/*
 |--------------------------------------------------------------------------
 | Mix Asset Management
 |--------------------------------------------------------------------------
 |
 | Mix provides a clean, fluent API for defining some Webpack build steps
 | for your Laravel application. By default, we are compiling the Sass
 | file for the application as well as bundling up all the JS files.
 |
 */
// on configure webpack
mix.webpackConfig({
    module:  {
        loaders: [
            {
                test:   require.resolve('pace-progress'),
                loader: 'imports?define=>false',
            },
        ],
    },
    node:    {
        fs: 'empty',
    },
    resolve: {
        alias: {
            'handlebars': 'handlebars/dist/handlebars.js',
        },
    },
});

// on copie les images non ciblées dans les scripts ou feuilles de style
mix.copy('resources/assets/*', 'public');
mix.copy('resources/assets/images/*', 'public/images');

// on compile/minifie les scripts et on isole les vendors
mix.js('resources/assets/js/app.js', 'public/js')
    .extract([
        'lodash',
        'jquery',
        'admin-lte',
        'lodash',
        'jquery',
        'admin-lte',
        'pace-progress',
        'jquery-slimscroll',
        'fastclick',
        'bootstrap-datepicker',
        'bootstrap-datepicker/dist/locales/bootstrap-datepicker.fr.min',
        'bootstrap-timepicker',
        'bootstrap-colorpicker',
        'icheck',
        'select2',
        'daterangepicker',
        'handlebars',
        'jspdf',
        'html2pdf.js',
        'datatables.net',
        'datatables.net-bs',
        'datatables.net-responsive',
        'datatables.net-responsive-bs',
        'bootbox',
        'moment',
        'moment/locale/fr',
        'highcharts/highstock',
        'highcharts/modules/exporting',
        'highcharts/modules/export-data',
        'highcharts/modules/no-data-to-display',
        'pusher-js',
        'laravel-echo',
        'vue'
    ]);

// on compile/minifie la feuille de style pour bootstrap
mix.sass('resources/assets/sass/bootstrap.scss', 'public/css/bs.css');

// on compile/minifie la feuille de style pour le thème admin-lte
mix.less('resources/assets/less/adminlte.less', 'public/css')
    .options({
        processCssUrls: false,
    });

// on compile/minifie notre feuille de style perso
mix.sass('resources/assets/sass/app.scss', 'public/css');

// on active les sourcemaps
mix.sourceMaps();

// on versionne nos images, scripts et feuilles de style
mix.version();

if (!mix.inProduction()) {
    mix.browserSync(process.env.APP_URL);
}

Мой контент app.js:

require("./bootstrap");
require("./common");

Я знаю, что это связано с JS, потому что, если я закомментирую .extract([...]) и весь контент bootstrap.js, он скомпилируется, но если у меня есть какая-либо ссылка на библиотеку, она сломается (например, она сломается, если содержимое bootstrap.js будет только window._ = require('lodash');

Это действительно странно, потому что, когда я использую новую установку Laravel, сначала она работает, но после любого изменения в webpack.config.js она ломается, и откат назад не помогает: если она сломана, я не могу ее получить. больше не работает.

Я использую Homestead на машине с Windows 10, а версии node и npm (я пытался использовать nvm для решения проблемы, но, к сожалению, это не работает):

vagrant@homestead:~/laravel_test$ node -v
v9.3.0

vagrant@homestead:~/laravel_test$ npm -v
5.6.0

Любая подсказка о том, что происходит?


person Othella    schedule 02.01.2018    source источник
comment
Пожалуйста, прочитайте При каких обстоятельствах я могу добавить «срочно» или другие подобные фразы к моему вопросу, чтобы получить более быстрые ответы? - Подводя итог, можно сказать, что это не идеальный способ обращения к волонтерам и, вероятно, контрпродуктивно для получения ответов. Пожалуйста, воздержитесь от добавления этого к своим вопросам.   -  person halfer    schedule 02.01.2018
comment
что в /home/vagrant/.npm/_logs/2018-01-02T17_38_00_013Z-debug.log/ ?   -  person Victor    schedule 03.01.2018
comment
На терминале вашей усадьбы попробуйте запустить free -h, чтобы проверить, сколько свободного места у вас осталось, и free -m для оперативной памяти?   -  person Ru Chern Chong    schedule 03.01.2018
comment
@RuChernChong Вот результат: Mem: 2.0G 260M 966M 43M 774M 1.5G Swap: 1.0G 116K 1.0G   -  person Othella    schedule 03.01.2018
comment
Я не могу это читать извините. Может быть, вы вставите это куда-нибудь и свяжете меня? Спасибо.   -  person Ru Chern Chong    schedule 03.01.2018
comment
@Victor Я добавил содержимое в описание ошибки. Спасибо   -  person Othella    schedule 03.01.2018
comment
@RuChernChong У меня возникли проблемы с добавлением строки в комментарий, извините. я исправил это выше   -  person Othella    schedule 03.01.2018
comment
ОЗУ выглядит нормально. Можете ли вы запустить free -h, чтобы узнать, сколько места на диске уже занято?   -  person Ru Chern Chong    schedule 03.01.2018
comment
Mem: 2.0G 246M 684M 33M 1.0G 1.5G и Swap: 1.0G 0B 1.0G   -  person Othella    schedule 03.01.2018
comment
Плохо, я не хотел видеть free -h. Это было df -h. Однако теперь вы решили свою проблему.   -  person Ru Chern Chong    schedule 03.01.2018
comment
Вы также два раза импортировали jquery.   -  person Davide Casiraghi    schedule 24.01.2019


Ответы (2)


В Windows с бродягой единственное решение, которое работает для меня, — это вручную завершить процесс «NFS-сервер для Windows» из диспетчера задач и выполнить vagrant reload

person dgpro    schedule 05.12.2018

Для тех, у кого такая же проблема, после двухнедельного расследования я наконец нашел причину: NFS включена на бродячей ферме!!! Я просто удаляю опцию, и теперь она работает.

person Othella    schedule 03.01.2018