Art*_*sov 51 node.js npm laravel laravel-mix
我正在尝试npm run dev
为Laravel Mix 运行,我收到此错误:
> @ 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.
Run Code Online (Sandbox Code Playgroud)
我将node.js更新为6.11.0,将npm更新为5.2.0,但它没有帮助.我在Windows 7上运行Homestead.
Yev*_*yev 124
您需要使cross-env全局工作,而不是在项目中使用它.
1)删除node_modules
文件夹
2)跑
npm install --global cross-env
3)"cross-env": "^5.0.1",
从package.json
文件devDependencies
部分删除.实际上,您可以跳过此步骤并保持package.json完好无损.如果你更喜欢.
4)跑
npm install --no-bin-links
5)跑
npm run dev
并看到它的工作
PS使用Laravel-5.4在Windows 10上进行测试
带有Laravel-5.6的PPS Windows 10没有这个问题,因此更新是一种替代解决方案.
小智 16
遵循这些步骤解决了我的问题.
node_modules
目录package-lock.json
文件npm install
npm run dev
fli*_*lik 13
第一次运行:
rm -rf node_modules
rm package-lock.json yarn.lock
npm cache clear --force
Run Code Online (Sandbox Code Playgroud)
然后运行该命令
npm install cross-env
npm install
Run Code Online (Sandbox Code Playgroud)
然后你也可以跑
npm run dev
Run Code Online (Sandbox Code Playgroud)
根据这个问题评论,编辑cross-env
路径将解决问题。更改cross-env
到node node_modules/cross-env/dist/bin/cross-env.js
在package.json
这样的:
"dev": "npm run development",
"development": "node 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": "node node_modules/cross-env/dist/bin/cross-env.js 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": "node node_modules/cross-env/dist/bin/cross-env.js 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": "node node_modules/cross-env/dist/bin/cross-env.js NODE_ENV=production node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
Run Code Online (Sandbox Code Playgroud)
小智 5
Linux OS中存在同样的问题.这个问题与Windows操作系统有关,但Homestead是一个Ubuntu虚拟机,并且发布的解决方案在其他方面非常有效.我应用了flik sugested的命令,问题解决了.我只使用了以下命令
我只使用了以下命令
rm -rf node_modules
npm cache clear --force
Run Code Online (Sandbox Code Playgroud)
后
npm install cross-env
npm install
npm run watch
Run Code Online (Sandbox Code Playgroud)
它在Linux Fedora 25上运行良好.
您的错误表明未安装 cross-env。
'cross-env' is not recognized as an internal or external command, operable program or batch file.
Run Code Online (Sandbox Code Playgroud)
你只需要跑
npm install cross-env
Run Code Online (Sandbox Code Playgroud)