Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 拉威尔5.4‘;跨环境’;不被识别为内部或外部命令_Node.js_Laravel_Npm_Laravel Mix - Fatal编程技术网

Node.js 拉威尔5.4‘;跨环境’;不被识别为内部或外部命令

Node.js 拉威尔5.4‘;跨环境’;不被识别为内部或外部命令,node.js,laravel,npm,laravel-mix,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 exte

我正在尝试为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,但没有任何帮助。我在Windows7上运行Homestead

在尝试运行
npm运行dev
请在项目目录中运行
npm安装--无bin链接
,这将安装所有必需的软件包。 另外,请检查此链接以了解编译说明。

conf
文件中再次检查,无论您在哪里找到类似的内容

(某物)/cross-env/bin/(某物)

换成

(某物)/cross-env/dist/bin/(某物)

如果您正在使用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"
  }
}
也请检查此链接
按照这些步骤解决了我的问题

  • 删除
    节点\u模块
    目录
  • 删除
    包锁.json
    文件
  • 以管理员身份启动命令提示符根据,编辑跨环境路径将解决此问题。在
    package.json
    中,将
    cross-env
    更改为
    node-node\u模块/cross-env/dist/bin/cross-env.js
    ,如下所示:

        "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"
    
    "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"
    }
    

    您需要使跨环境在全局范围内工作,而不是在项目中使用它

    1) 删除
    节点\u模块
    文件夹

    2) 跑动

    npm安装--全局交叉环境

    3) 从
    package.json
    文件
    devDependencies
    部分删除
    “交叉环境”:“^5.0.1”
    。实际上,您可以跳过这一步并保持package.json不变。如果你愿意的话

    4) 跑

    npm安装--无bin链接

    5) 跑

    npm运行开发人员

    看到它工作了吗

    使用Laravel-5.4在Windows 10上测试p.S


    p.p.S安装了Laravel-5.6的Windows 10没有这个问题,因此更新是另一种解决方案。

    我认为这个日志条目Local package.json存在,但是节点模块丢失了,你是想安装吗?已经给了我解决方案

    npm install && npm run dev
    

    如果您看到这个问题,只需先运行
    npm install
    /
    warn
    等,然后再运行
    npm start
    /
    warn
    start as@only4,因为这意味着您的
    .env
    与您的
    包.json
    不同步,也就是说,您安装了一个软件包,但没有完全配置它,或者在第一次运行时以其他方式进行配置:

    rm -rf node_modules
    rm package-lock.json yarn.lock
    npm cache clear --force
    
    然后运行命令

    npm install cross-env
    
    npm install 
    
    然后你也可以跑步

    npm run dev
    

    Linux操作系统中也存在同样的问题。这个问题与Windows操作系统有关,但Homestead是一个Ubuntu虚拟机,发布的解决方案在其他系统中效果非常好。我应用了flik建议的命令,问题就解决了。我只使用了以下命令

    我只使用了以下命令

    rm -rf node_modules
    npm cache clear --force
    
    之后

    npm install cross-env
    npm install 
    npm run watch
    

    它在linux Fedora 25上运行良好。

    删除
    节点\u模块
    文件夹

    然后您应该运行以下命令:

    npm install --no-bin-links
    
    npm run dev
    
    它在我的Laravel 5.5和Windows上运行。

    这对我(在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"
    
  • 使您的devdependency看起来像这样:

        "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"
    
    "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"
    }
    
  • 删除
    节点\u模块
    文件夹

  • 运行
    npm安装
  • 运行
    npm运行dev

  • 出现错误是因为您可能没有先运行命令
    npm install

    i、 e。
    首先,运行
    npm install
    ,然后运行
    npm run dev

    您的错误表明未安装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
    。这对我很有效。

    对我来说,只需运行:

    npm install cross-env
    

    足够了吗

    以下内容适用于Laravel 7.x(考虑到问题的性质,可能也适用于任何其他版本)


    只是将跨环境从本地开发转向全球可用的软件包。

    我提供了所有解决方案,但没有标准解决方案

    只需删除NODEJS并安装最新版本的NODEJS


    而不是许多糟糕的快捷方式解决方案。

    只需
    npm安装--将dev cross env
    保存在项目的根目录中。

    是,它成功安装了npm。请在npm安装跨环境后运行
    npm安装cros-env
    ,我在尝试
    npm运行dev
    时遇到另一个错误:$npm run dev>@dev D:\projects\ptcs>npm run development npm WARN invalid config loglevel=“注意”>@development D:\projects\ptcs>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投掷者;//未处理的“错误”事件也运行此请
    npm安装--无bin链接
    添加
    --无bin链接
    npm安装
    没有任何更改我认为这取决于是否从Homestead或Windows 7运行然后安装,因为它安装操作系统特定的库。对我来说,重新安装最新的node.js(8.9)修复了此问题。在Yevgeniy之后,如果遇到此错误,请提供Afanasyev建议:>CLI已移动到单独的包中:webpack CLI。您应该运行该命令:$npm install webpack cli-DIt经过测试并确认可以作为虚拟盒在Vagrant wint Laravel 5.4(Homestead)上的Ubuntu集上工作。以win10作为基本操作系统。因为我不知道npm安装的命令是什么——没有bin链接(即使是研究,我也不明白),所以我避免使用它,并进行了工作。为什么这是必要的?“二进制链接”类似于windows的“快捷方式”,但二进制链接在Linux上工作。由于您的文件位于windows主机上,所以不需要Linux格式的bin链接