【问题标题】:Cannot replace command 'webpack' by 'npm run build'无法用“npm run build”替换命令“webpack”
【发布时间】:2018-09-06 00:08:24
【问题描述】:

请有人向我解释一下。 我想使用命令 npm run build 来调用 webpack。所以我修改了文件 package.json 中的脚本。但它没有用。我用的是linux

这是我的 package.json 文件

{
  "name": "learn-webpack",
  "version": "1.0.0",
  "description": "Learn Webpack",
  "main": "index.js",
  "scripts": {
    "build": "webpack"
  },
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "babel-core": "^6.26.0",
    "babel-loader": "^7.1.4",
    "babel-preset-env": "^1.6.1",
    "css-loader": "^0.28.11",
    "style-loader": "^0.20.3",
    "webpack": "^4.2.0"
  }
}

这是错误,它已经安装了 cli 但它一直发送此消息

The CLI moved into a separate package: webpack-cli.
Please install 'webpack-cli' in addition to webpack itself to use the CLI.
-> When using npm: npm install webpack-cli -D
-> When using yarn: yarn add webpack-cli -D
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! learn-webpack@1.0.0 build: `webpack`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the learn-webpack@1.0.0 build script.
npm ERR! This is probably not a problem with npm.
         There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/huong/.npm/_logs/2018-03-27T14_09_22_103Z-debug.log

【问题讨论】:

  • 很明显需要安装webpacl-cli

标签: javascript node.js npm webpack npm-scripts


【解决方案1】:

如果您将 webpack 安装到项目中而不是全局安装,请尝试以下操作:

"build": "./node_modules/webpack/bin/webpack"

【讨论】:

    【解决方案2】:

    按照说明进行

    The CLI moved into a separate package: webpack-cli.

    Please install 'webpack-cli' in addition to webpack itself to use the CLI.

    -> When using npm: npm install webpack-cli -D

    只要运行:

    npm install webpack-cli -D -g
    

    -g 很好,然后尝试再次运行构建,它应该可以工作:)

    【讨论】:

    • 是全局的 -g 吗?
    • 在全局安装它而不将其指定为 devDep 将对尚未全局安装它的任何其他人破坏它。我建议你将它添加到你的 devDeps 并避免全局安装它
    • -D 和 -g 应该两者都做,不是吗?运行 -g 和 -D 有什么害处?只是好奇,因为我从来没有遇到过这样做的问题。
    【解决方案3】:

    你没有将 webpack-cli 安装到你的 devDependencies 中

    npm install webpack-cli -D
    

    其实应该可以解决你的问题

    也许你全局安装了 webpack-cli,但它不在你的 devDependencies 中

    【讨论】:

      【解决方案4】:

      如果你直接调用一个函数,比如

        "scripts": {
          "build": "webpack"
        },
      

      Webpack 会作为 $PATH 中的命令进行搜索。 使用npm install webpack-cli -D 不是将其全局安装在$PATH 下,而是在本地安装在./node_modules 下。

      因此你有两个选择:

      • 全局安装 (-g):npm -g i webpack-cli
      • 从 node_module 目录运行它:node_modules/<path to webpack>

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-04-27
        • 2021-10-14
        • 2020-01-04
        • 2019-10-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-03-12
        相关资源
        最近更新 更多