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)"cross-env": "^5.0.1",
ファイルdevDependencies
セクションからpackage.json
を削除します。実際、この手順をスキップして、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_modules
ディレクトリを削除しますpackage-lock.json
ファイルを削除npm install
を実行しますnpm run dev
を実行します最初の実行:
rm -rf node_modules
rm package-lock.json yarn.lock
npm cache clear --force
コマンドを実行します
npm install cross-env
npm install
そして、あなたも実行することができます
npm run dev
Linux OSにも同じ問題があります。この問題はWindows OSに関連していますが、HomesteadはUbuntu VMであり、投稿されたソリューションは他のSOでは非常に良好に機能します。 flikがサポートするコマンドを適用すると、問題は解決しました。次のコマンドのみを使用しました
私は次のコマンドのみを使用しました
rm -rf node_modules
npm cache clear --force
後
npm install cross-env
npm install
npm run watch
Linux Fedora 25では正常に動作しています。
この問題のコメント によると、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"
最初にコマンド「npm install」を実行していない可能性があるため、エラーが発生しています。
すなわち、最初に実行しますnpm install、そしてnpm run dev
このログエントリローカルpackage.jsonは存在しますが、node_modulesがありません。インストールするつもりですか?が解決策を提供してくれたと思います。
npm install && npm run dev
これは私のために働いた(Windows 10):
Package.jsonファイルのスクリプトに次の行を追加します。
"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": "npm run development -- --watch",
"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 --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js"
DevDependenciesを次のようにします。
"devDependencies": {
"axios": "^0.18",
"bootstrap": "^4.0.0",
"popper.js": "^1.12",
"cross-env": "^5.1",
"jquery": "^3.2",
"laravel-mix": "^2.0",
"lodash": "^4.17.4",
"vue": "^2.5.7"
}
node_modules
フォルダーを削除
npm install
を実行しますnpm run dev
を実行しますnpm run dev
を実行する前に、プロジェクトディレクトリでnpm install --no-bin-links
を実行してください。これにより、必要なすべてのパッケージがインストールされます。命令のコンパイルについてもこのリンクを確認してください。 https://laravel.com/docs/5.4/mix
また、conf
ファイルをダブルチェックインします。
(something)/cross-env/bin/(something)
に変更する
(something)/cross-env/dist/bin/(something)
Homesteadを使用している場合、package.json
にこれを貼り付けてください
{
"private": true,
"scripts": {
"dev": "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": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --watch --watch-poll --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js",
"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",
"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.15.3",
"bootstrap-sass": "^3.3.7",
"cross-env": "^3.2.3",
"jquery": "^3.1.1",
"laravel-mix": "^0.8.1",
"lodash": "^4.17.4",
"vue": "^2.1.10"
}
}
このリンクも確認してください https://github.com/JeffreyWay/laravel-mix/issues/478
npm install
/yarn
を実行する前に、まずnpm start
/yarn
などを実行してみてください。この問題が発生した場合は、.env
がpackage.json
と同期していない、つまりパッケージ化されているが、完全に構成されていない、または他の方法で回避されている
エラーには、cross-envがインストールされていないことが示されています。
'cross-env' is not recognized as an internal or external command, operable program or batch file.
あなただけを実行する必要があります
npm install cross-env
PowerShellでnpm run dev
を実行してみてください。これは私のために働いた。
node_modules
フォルダーを削除します
次に、コマンドを実行する必要があります。
npm install --no-bin-links
npm run dev
私のLaravel 5.5とWindowsで動作しました。