php - 拉拉维尔 5.4 "npm run dev"

标签 php node.js laravel-5 npm

我在 MAC 上创建了一个干净的 Laravel 应用程序。如果我执行“php artisanserve”,它会正确运行。

我尝试运行 npm run dev 并收到此错误:

> cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js

events.js:160
      throw er; // Unhandled 'error' event
      ^

Error: spawn node_modules/webpack/bin/webpack.js ENOENT
    at exports._errnoException (util.js:1018:11)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:193:32)
    at onErrorNT (internal/child_process.js:367:16)
    at _combinedTickCallback (internal/process/next_tick.js:80:11)
    at process._tickCallback (internal/process/next_tick.js:104:9)
    at Module.runMain (module.js:606:11)
    at run (bootstrap_node.js:393:7)
    at startup (bootstrap_node.js:150:9)
    at bootstrap_node.js:508:3

如上所示,我尝试删除node_module并重新执行npm init,但没有帮助。

版本:

  • npm 2.15.11
  • Node v6.10.1
  • Laravel 框架 5.4.23

这是 npm 日志:

0 info it worked if it ends with ok
1 verbose cli [ '/opt/local/bin/node', '/opt/local/bin/npm', 'run', 'dev' ]
2 info using npm@2.15.11
3 info using node@v6.10.1
4 verbose run-script [ 'predev', 'dev', 'postdev' ]
5 info predev @
6 info dev @
7 verbose unsafe-perm in lifecycle true
8 info @ Failed to exec dev script
9 verbose stack Error: @ dev: `npm run development`
9 verbose stack Exit status 1
9 verbose stack     at EventEmitter.<anonymous> (/opt/local/lib/node_modules/npm/lib/utils/lifecycle.js:217:16)
9 verbose stack     at emitTwo (events.js:106:13)
9 verbose stack     at EventEmitter.emit (events.js:191:7)
9 verbose stack     at ChildProcess.<anonymous> (/opt/local/lib/node_modules/npm/lib/utils/spawn.js:24:14)
9 verbose stack     at emitTwo (events.js:106:13)
9 verbose stack     at ChildProcess.emit (events.js:191:7)
9 verbose stack     at maybeClose (internal/child_process.js:886:16)
9 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:226:5)
10 verbose pkgid @
11 verbose cwd /www/ui
12 error Darwin 15.6.0
13 error argv "/opt/local/bin/node" "/opt/local/bin/npm" "run" "dev"
14 error node v6.10.1
15 error npm  v2.15.11
16 error code ELIFECYCLE
17 error @ dev: `npm run development`
17 error Exit status 1
18 error Failed at the @ dev script 'npm run development'.

感谢任何帮助。

最佳答案

mixcross-env 软件包都已过期时,我遇到了此问题。我按照底部的说明进行了操作。但首先确保您拥有现代版本的软件包;我已经发布了 package.json 和我的全局 npm 包以供引用。

Package.json:

这里不需要 handlebarsvee-validate,但需要其他一切。

{
  "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",
    "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": {
    "cross-env": "^5.0.1",
    "jquery": "^3.1.1",
    "laravel-mix": "^1.2.1"
  },
  "dependencies": {
    "handlebars": "^4.0.10",
    "vee-validate": "^2.0.0-rc.8",
    "vue": "^2.4.2"
  }
}

全局 npm 包

我有这些全局包,请仔细记下版本!最近对 webpack 的包更新需要更新版本的 webpack/node。

├── n@2.1.7
├── npm@5.0.0
└── webpack@3.4.1

安装说明(遵循每个步骤非常重要!)

仔细执行每个步骤,尤其是第 2 步。

  1. 删除node_modules目录
  2. 删除 package-lock.json 文件
  3. 运行:$ npm install
  4. 运行:$ npm run dev

再试一次

此时您可以再试一次。它为我解决了所有错误。我在 GitHub 上找到了原始步骤:

https://github.com/JeffreyWay/laravel-mix/issues/623#issuecomment-315122856

关于php - 拉拉维尔 5.4 "npm run dev",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44121463/

相关文章:

php - utf8_unicode_ci不返回不区分大小写的结果吗?

php - 翻译排队的邮件(本地化)

php - 在不安装插件的情况下以 HTML 播放声音

node.js - Node 中的 req.body 为空

Node.js 按时间间隔同步 HTTP 客户端请求

javascript - 如何使用winston 日志记录创建事件ID?

javascript - Laravel mix 和 jQuery 插件问题,$().plugin 不是函数

拉拉维尔 5.4 : how to pass model object to controller via middleware?

php - 在 php 中使用正则表达式验证十六进制和 rgba 颜色

javascript - 代码在主页中工作但不在内部目录中 - 仅显示加载