一点背景:我正在开发一个Laravel 5应用程序.我正在使用Homestead(使用Vagrant / VirtualBox)在 Windows 7上进行本地开发,并通过CodePipeline部署到Amazon EC2实例. 在尝试让Laravel Mix在本地工作时,我不断
在尝试让Laravel Mix在本地工作时,我不断遇到一些错误,最终导致我在全局安装cross-env的解决方案,而不是将它包含在package.json中的devDependencies中.当然,这也意味着我的亚马逊部署也需要更新到该设置.除非解释在我的部署中全局安装了交叉环境,否则这些都不是真正相关的,如果相关的话.
我的package.json:
{ "private": true, "scripts": { ... "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js" }, "devDependencies": { "axios": "^0.16.2", "bootstrap-sass": "^3.3.7", "jquery": "^3.1.1", "laravel-mix": "^1.0", "lodash": "^4.17.4", "vue": "^2.1.10" } }
我在部署到AWS时在npm run production上失败,并出现以下错误:
[stderr]/usr/lib/node_modules/cross-env/dist/index.js:42 [stderr] }); [stderr] ^ [stderr]SyntaxError: Unexpected token }
可能导致此问题的原因是什么?我该如何解决?我非常怀疑cross-env中存在语法错误.
我遇到了同样的问题,我可以通过更新节点并重新安装npm来修复它.对我有用的步骤:
使用包管理器更新节点:
sudo npm cache clean -f sudo npm install -g n sudo n stable
然后全新安装:
rm -rf node_modules && npm cache clean --force && npm install
希望能帮助到你