我debian/buster64为一个小型 React webapp 项目创建了一个新的 Vagrant + VirtualBox 虚拟机(2GB,2 核)。
配置和安装依赖项工作正常,但是当通过(脚本简写)yarn启动应用程序的客户端时,我收到以下错误:yarn start:clientparcel index.html --port 3000
[Error: std::bad_alloc]
创建新的虚拟机并调整内存和核心使用情况并没有解决问题。VirtualBox 没有显示任何问题的迹象,并且盒子内的内存使用量非常低。在尝试启动应用程序期间通过观察内存波动free -c 10显示内存在抛出错误时突然下降之前已分配。
没有提供其他错误详细信息。
包.json:
{
"name": "",
"version": "0.1.0",
"description": "",
"scripts": {
"start": "node server/server.js",
"start:client": "parcel index.html --port 3000",
"start:server": "nodemon ./server/server --watch server/ --port 3001",
"build": "parcel build index.html"
},
"license": "MIT",
"engine": "14.15.3",
"dependencies": {
"axios": "^0.21.1",
"axios-retry": "^3.1.9",
"cache-all": "^2.1.1",
"cors": "^2.8.5",
"dayjs": "^1.10.1",
"dotenv": "^8.2.0",
"express": "^4.17.1",
"gps-distance": "^0.0.4",
"less": "^4.1.1",
"lodash": "^4.17.20",
"milligram": "^1.4.1",
"nodemon": "^2.0.6",
"ramda": "^0.27.1",
"react": "^16.13.1",
"react-dom": "^16.13.1",
"react-ga": "^3.3.0",
"react-modal": "^3.12.1",
"react-spinners": "^0.10.4",
"rsuite-table": "^3.14.2"
},
"devDependencies": {
"@parcel/transformer-css": "^2.0.0-alpha.3",
"@parcel/transformer-postcss": "^2.0.0-alpha.3",
"babel-preset-nano-react-app": "^0.1.0",
"parcel": "next",
"sass": "^1.32.4"
},
"babel": {
"presets": [
"nano-react-app"
],
"plugins": [
[
"@babel/plugin-proposal-class-properties",
{
"loose": true
}
],
[
"@babel/plugin-transform-react-jsx",
{
"pragmaFrag": "React.Fragment"
}
]
]
}
}
Run Code Online (Sandbox Code Playgroud)
use*_*381 12
经过相当多的尝试和错误后,我将问题归结为 Parcel 包的缓存。
首先,我尝试自行启动应用程序的服务器 (API) 部分 ( yarn start:server),启动时没有出现问题。
其次,我尝试启动应用程序的客户端而不指定端口号 ( node_modules/parcel/lib/bin.js index.html)。该应用程序正确启动,没有问题。
第三,我再次正常启动客户端(yarn start:client),bad_alloc错误又出现了。
第四,我用标志启动了客户端--no-cache。没有错误。
最后(TL;DR),我删除了缓存目录(rm -fr .parcel-cache),然后正常重新启动客户端。该应用程序构建正确且没有错误。
到目前为止,我已经多次重启客户端,没有出现任何问题。目前尚不清楚 Parcel 缓存的具体原因导致了此问题。希望这可以帮助某人避免翻转桌子。
| 归档时间: |
|
| 查看次数: |
2055 次 |
| 最近记录: |