web-dev-qa-db-ja.com

Laravel 5.4「cross-env」が内部コマンドまたは外部コマンドとして認識されない

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を実行しています。

46
Arthur Tarasov

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にはこの問題がないため、更新は代替ソリューションです。

104

これらの手順に従うことで問題が解決しました。

  1. node_modulesディレクトリを削除します
  2. package-lock.jsonファイルを削除
  3. 管理者としてコマンドのプロンプトを開始<-important
  4. npm installを実行します
  5. npm run devを実行します
15
collin

最初の実行:

rm -rf node_modules
rm package-lock.json yarn.lock
npm cache clear --force

コマンドを実行します

npm install cross-env

npm install 

そして、あなたも実行することができます

npm run dev
10
flik

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では正常に動作しています。

5

この問題のコメント によると、cross-envパスを編集すると問題が修正されます。 cross-envを次のようにnode node_modules/cross-env/dist/bin/cross-env.jspackage.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"
4
Hafez Divandari

最初にコマンド「npm install」を実行していない可能性があるため、エラーが発生しています。

すなわち、最初に実行しますnpm install、そしてnpm run dev

1
Naveed Ali

このログエントリローカルpackage.jsonは存在しますが、node_modulesがありません。インストールするつもりですか?が解決策を提供してくれたと思います。

npm install && npm run dev
1

これは私のために働いた(Windows 10):

  1. 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"
    
  2. 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"
    }
    
  3. node_modulesフォルダーを削除

  4. npm installを実行します
  5. npm run devを実行します
1

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

1
only4

npm install/yarnを実行する前に、まずnpm start/yarnなどを実行してみてください。この問題が発生した場合は、.envpackage.jsonと同期していない、つまりパッケージ化されているが、完全に構成されていない、または他の方法で回避されている

1
serdarsenay

エラーには、cross-envがインストールされていないことが示されています。

'cross-env' is not recognized as an internal or external command, operable program or batch file.

あなただけを実行する必要があります

npm install cross-env
1
Mike Stratton

PowerShellでnpm run devを実行してみてください。これは私のために働いた。

0

node_modulesフォルダーを削除します

次に、コマンドを実行する必要があります。

npm install --no-bin-links

npm run dev

私のLaravel 5.5とWindowsで動作しました。

0
Nirmal Khadka