laravel homestead 上的错误(未找到 es2015)运行 "npm run dev"
Error (es2015 not found) running "npm run dev" on a laravel homestead
在 Windows 10 上与 Laravel 5.4 vagrant box 作斗争,试图让 laravel-mix 工作。我的最终目标是为 PWA(渐进式 Web 应用程序)设置一个 ServiceWorker 和资产缓存,并且必须承认节点、npm、mix/gulp 让我感到困惑。从我在论坛帖子中看到的情况来看,它是一种相当脆弱的技术,容易因环境的任何微小变化或变化而中断。
我在 运行 "npm run dev" 时收到此错误消息 4 次(每个编译的 js 资源一次):
Module build failed: Error: Couldn't find preset "es2015" relative to directory "/home/vagrant"
at /home/vagrant/Code/laravel-basics/node_modules/babel-core/lib/transformation/file/options/option-manager.js:293:19
这是我的 package.json:
{
"private": true,
"scripts": {
"dev": "npm run development",
"development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"development2": "./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",
"watch": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"watch-poll": "npm run watch -- --watch-poll",
"hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
"prod": "npm run production",
"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",
"babel-plugin-transform-runtime": "^6.23.0",
"babel-preset-es2015": "^6.24.1",
"babel-preset-stage-2": "^6.24.1",
"bootstrap-sass": "^3.3.7",
"cross-env": "^5.0.5",
"font-awesome": "^4.7.0",
"jquery": "^3.1.1",
"laravel-mix": "^1.4.2",
"lodash": "^4.17.4",
"node-sass": "^4.5.3",
"sw-precache-webpack-plugin": "^0.11.4",
"vue": "^2.1.10",
"webpack-rtl-plugin": "^1.5.0"
}
}
最近一次尝试是 运行 vagrant,在执行 "rm -rf node_modules && npm install"(或其等效项)之前从管理员命令提示符。我不喜欢这样,但 npm 安装比使用“--no-bin-links”选项要顺利得多。我也试过 yarn 而不是 npm install。
我尝试了很多东西,但似乎结合了
- 运行 Vagrant/Homestead 在命令提示符中以管理员身份
- 除了 --no-bin-links
之外,全局安装 es2015
- 正在重新启动 VM 以使环境更改的全局安装生效
- 然后,npm 运行 开发
成功了。我在同一台机器上的新 laravel 项目上尝试了这个序列。希望它在我销毁我的虚拟机并重做时也能正常工作...
这应该可以解决问题。不要忘记包含一个带有
的 .babelrc
{
"presets": ["es2015"]
}
在 Windows 10 上与 Laravel 5.4 vagrant box 作斗争,试图让 laravel-mix 工作。我的最终目标是为 PWA(渐进式 Web 应用程序)设置一个 ServiceWorker 和资产缓存,并且必须承认节点、npm、mix/gulp 让我感到困惑。从我在论坛帖子中看到的情况来看,它是一种相当脆弱的技术,容易因环境的任何微小变化或变化而中断。
我在 运行 "npm run dev" 时收到此错误消息 4 次(每个编译的 js 资源一次):
Module build failed: Error: Couldn't find preset "es2015" relative to directory "/home/vagrant"
at /home/vagrant/Code/laravel-basics/node_modules/babel-core/lib/transformation/file/options/option-manager.js:293:19
这是我的 package.json:
{
"private": true,
"scripts": {
"dev": "npm run development",
"development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"development2": "./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",
"watch": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"watch-poll": "npm run watch -- --watch-poll",
"hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
"prod": "npm run production",
"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",
"babel-plugin-transform-runtime": "^6.23.0",
"babel-preset-es2015": "^6.24.1",
"babel-preset-stage-2": "^6.24.1",
"bootstrap-sass": "^3.3.7",
"cross-env": "^5.0.5",
"font-awesome": "^4.7.0",
"jquery": "^3.1.1",
"laravel-mix": "^1.4.2",
"lodash": "^4.17.4",
"node-sass": "^4.5.3",
"sw-precache-webpack-plugin": "^0.11.4",
"vue": "^2.1.10",
"webpack-rtl-plugin": "^1.5.0"
}
}
最近一次尝试是 运行 vagrant,在执行 "rm -rf node_modules && npm install"(或其等效项)之前从管理员命令提示符。我不喜欢这样,但 npm 安装比使用“--no-bin-links”选项要顺利得多。我也试过 yarn 而不是 npm install。
我尝试了很多东西,但似乎结合了
- 运行 Vagrant/Homestead 在命令提示符中以管理员身份
- 除了 --no-bin-links 之外,全局安装 es2015
- 正在重新启动 VM 以使环境更改的全局安装生效
- 然后,npm 运行 开发
成功了。我在同一台机器上的新 laravel 项目上尝试了这个序列。希望它在我销毁我的虚拟机并重做时也能正常工作...
这应该可以解决问题。不要忘记包含一个带有
的 .babelrc{
"presets": ["es2015"]
}