Я клонировал репозиторий git, содержащий проект Vue, локально, используя git clone
.
Затем я запустил npm install
для установки зависимостей и получил папку node_modules
.
При запуске npm run serve
я получаю следующую ошибку:
[11920:03BEA178] 321556 ms: Scavenge (reduce) 429.1 (464.7) -> 429.1 (464.7) MB, 37.7 / 17.8 ms (average mu = 0.980, current mu = 0.932) allocation failure
[11920:03BEA178] 321643 ms: Scavenge (reduce) 429.7 (465.2) -> 429.7 (465.2) MB, 61.2 / 0.9 ms (average mu = 0.980, current mu = 0.932) allocation failure
[11920:03BEA178] 321765 ms: Scavenge (reduce) 432.2 (467.3) -> 432.2 (467.3) MB, 22.1 / 0.0 ms (average mu = 0.980, current mu = 0.932) allocation failure
<--- JS stacktrace --->
FATAL ERROR: MarkCompactCollector: young object promotion failed Allocation failed - JavaScript heap out of memory
npm ERR! code ELIFECYCLE
npm ERR! errno 134
npm ERR! [email protected] serve: `vue-cli-service serve --open`
npm ERR! Exit status 134
npm ERR!
npm ERR! Failed at the [email protected] serve 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! C:\Users\sagar\AppData\Roaming\npm-cache\_logs\2020-12-10T09_32_00_595Z-debug.log
Кроме того, моя папка node_modules
имеет размер около 8 ГБ. Я запускаю это на конвертируемом с 2GB RAM.
Мне удалось обойти эту ошибку, отключив минимизацию для TerserPlugin в webpack.config.js
следующим образом:
const TerserPlugin = require('terser-webpack-plugin');
module.exports = {
optimization: {
minimize: false,
minimizer: [new TerserPlugin()],
},
};
Это может работать не для всех, так как, на мой взгляд, эта ошибка возникает, когда оперативной памяти недостаточно. Мне не нужно было устанавливать minimize
на false
, когда я запускал приложение на ноутбуке с 4 ГБ ОЗУ и гораздо большим объемом жесткого диска. Вы можете установить minimize
на false
на этапе разработки и снова установить на true
, когда приложение будет готово к производству.