сборка vue-cli-сервиса выдает E2BIG

#vue.js #vue-cli

#vue.js #vue-cli

Вопрос:

Я разрабатываю приложение в Vue.js 2. Я использую Ubuntu 20.04.1 LTS. Мой package.json файл выглядит так:

 {
  "name": "my-app",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint"
  },
  "dependencies": {
    "vue": "^2.6.12",
    "vue-router": "^3.4.9",
    "vuex": "^3.6.2",
    "vuex-persistedstate": "^4.0.0-beta.3",
     ...and others
  },
  "devDependencies": {
    ...some dependencies
  }
}
 

Когда я запускаю npm run build , я получаю следующее исключение:

 > vue-cli-service build


⠹  Building for production...internal/child_process.js:403
    throw errnoException(err, 'spawn');
    ^

Error: spawn E2BIG
    at ChildProcess.spawn (internal/child_process.js:403:11)
    at Object.spawn (child_process.js:553:9)
    at new PoolWorker (/workspace/___/___/___/node_modules/thread-loader/dist/WorkerPool.js:46:43)
    at WorkerPool.createWorker (/workspace/___/___/___/node_modules/thread-loader/dist/WorkerPool.js:341:23)
    at WorkerPool.distributeJob (/workspace/___/___/___/node_modules/thread-loader/dist/WorkerPool.js:335:28)
    at runQueue (/workspace/___/___/___/node_modules/neo-async/async.js:8099:9)
    at processTicksAndRejections (internal/process/task_queues.js:75:11) {
  errno: -7,
  code: 'E2BIG',
  syscall: 'spawn'
}
npm ERR! code 1
npm ERR! path /workspace/___/___/___
npm ERR! command failed
npm ERR! command sh -c vue-cli-service build

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/___/.npm/_logs/2021-03-08T18_57_06_018Z-debug.log
 

Однако, когда я запускаю npm run serve , все работает нормально. Что здесь не так? Если вам нужны какие-либо дополнительные файлы, которые я не включил, пожалуйста, дайте мне знать.

Комментарии:

1. Есть ли у вас какие-либо ошибки ESLint во всем вашем проекте?

2. npm run serve не возвращает никаких предупреждений или ошибок, все работает нормально. Я также попытался удалить все зависимости, связанные с ESLint package.json , и снова переустановить все зависимости, но проблема по-прежнему сохраняется.

Ответ №1:

Я выяснил, в чем была ошибка. Я пытался прочитать некоторое содержимое файла vue.config.js примерно так:

 const fs = require('fs-extra');
const path = require('path');

// read data
const data = fs.readJsonSync(path.resolve(__dirname, 'data.json'), {
  throws: false
});

// set process variables
process.env.VUE_APP_DATA = JSON.stringify(data);

module.exports = {
  devServer: {
    disableHostCheck: true,
  },
};

 

После удаления fs.readJsonSync(...) он начал работать.