node.js - Laravel 5.4 ‘cross-env’ 未被识别为内部或外部命令

标签 node.js laravel npm laravel-mix

我正在尝试为 Laravel Mix 运行 npm run dev,但出现此错误:

> @ dev D:\projects\ptcs
> cross-env NODE_ENV=development webpack --progress --hide-modules --
config=node_modules/laravel-mix/setup/webpack.config.js

'cross-env' is not recognized as an internal or external command,
operable program or batch file.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! @ dev: `cross-env NODE_ENV=development webpack --progress --hide-
modules --config=node_modules/laravel-mix/setup/webpack.config.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the @ dev script.

我将 node.js 更新为 6.11.0,将 npm 更新为 5.2.0,但没有帮助。我在 Windows 7 上运行 Homestead。

最佳答案

你需要让 cross-env 在全局范围内工作,而不是在项目中。

1) 删除 node_modules 文件夹

2) 运行

npm install --global cross-env

3) 从 package.json 文件的 devDependencies 部分中删除 "cross-env": "^5.0.1",。实际上,您可以跳过这一步并保持 package.json 不变。如果您愿意。

4) 运行

npm install --no-bin-links

5) 运行

npm run dev

看看它的工作原理

P.S 在带有 Laravel-5.4 的 Windows 10 上测试

带有 Laravel-5.6 的 P.P.S Windows 10 没有这个问题,因此 更新 是一种替代解决方案。

关于node.js - Laravel 5.4 ‘cross-env’ 未被识别为内部或外部命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45034581/

相关文章:

javascript - 如何摆脱 koa-router 添加的未定义的 "phantom"路由

node.js - 格式化在管道中丢失

node.js - 从单个IP访问 Node

laravel - 带有 Laravel Mix 的 Webpack block 名称

javascript - 错误!错误 : EPERM: operation not permitted, 取消链接

javascript - NodeJS 和类限制

php - Laravel 共享主机 .htaccess

php - 拉拉维尔 5.5 : Am I using Dependency Injection in right mode?

node.js - 在安装新的 Node js 依赖项之前如何运行脚本

npm - 如何防止从父 node_modules 继承包