错误的脚本构建

时间:2017-11-17 05:07:35

标签: npm webpack atom-editor

如何修复此错误,我正在运行Windows 10

当我尝试在cmd上 npm run build 时出现此错误

C:\Users\anai_> npm run build
npm ERR! missing script: build

这是运行日志

0 info it worked if it ends with ok
1 verbose cli [ 'C:\\Program Files\\nodejs\\node.exe',
1 verbose cli   'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli   'run',
1 verbose cli   'build' ]
2 info using npm@5.5.1
3 info using node@v9.1.0
4 verbose config Skipping project config: C:\Users\anai_/.npmrc. (matches userconfig)
5 verbose stack Error: missing script: build
5 verbose stack     at run (C:\Program Files\nodejs\node_modules\npm\lib\run-script.js:151:19)
5 verbose stack     at C:\Program Files\nodejs\node_modules\npm\lib\run-script.js:61:5
5 verbose stack     at C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-json\read-json.js:115:5
5 verbose stack     at C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-json\read-json.js:402:5
5 verbose stack     at checkBinReferences_ (C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-json\read-json.js:357:45)
5 verbose stack     at final (C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-json\read-json.js:400:3)
5 verbose stack     at then (C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-json\read-json.js:160:5)
5 verbose stack     at ReadFileContext.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-json\read-json.js:332:20)
5 verbose stack     at ReadFileContext.callback (C:\Program Files\nodejs\node_modules\npm\node_modules\graceful-fs\graceful-fs.js:78:16)
5 verbose stack     at FSReqWrap.readFileAfterOpen [as oncomplete] (fs.js:437:13)
6 verbose cwd C:\Users\anai_
7 verbose Windows_NT 10.0.15063
8 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "run" "build"
9 verbose node v9.1.0
10 verbose npm  v5.5.1
11 error missing script: build
12 verbose exit [ 1, true ]

虽然错误是指缺少脚本构建,但我在package.json中放置了“build”脚本

{
  "name": "es6",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "build": "webpack"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "devDependencies": {
    "webpack": "^3.8.1"
  }

}

这是我的webpack.config.js文件

module.exports = {
  entry: ['./app/index.js'],
  output: {
    path: './build',
    filename: 'bundle.js'

  }
}

任何人都可以告诉我如何修复此错误或它来自何处。我是使用node.js,webpack和命令行的新手。提前感谢您的时间!

7 个答案:

答案 0 :(得分:0)

您在部署脚本中添加了“npm run build&amp;&amp; gh-pages -d build”,但是当 npm运行构建时,您需要告诉npm该怎么做正在运行。将构建配置为需要运行的任何命令来构建项目。

由于您使用的是webpack,我认为它将是 webpack --config webpack.conf.js 。使用gulp,gulp build,使用TypeScript tsc -p tsproject.json ,依此类推。这取决于你的项目。

你可以在这里查看完整的文章: https://github.com/npm/npm/wiki/Troubleshooting#a-brief-note-on-the-built-in-windows-configuration

答案 1 :(得分:0)

我遇到了同样的问题,但是后来我意识到我忘了安装Angular CLI,

所以我要解决此问题:

  1. 我将这个命令执行到我的npm安装文件夹中:

npm install -g @angular/cli

  1. 然后我创建一个新的Angular项目ng new project-name

之后,我可以执行npm run build

希望获得帮助。

答案 2 :(得分:0)

此外,删除空的ui src文件夹(或通常存储package-lock.json等的位置也可能会有所帮助)。例如,当您在不同分支中检出并切换并且某些分支已删除ui src文件夹但git不会删除空文件夹时,可能会出现。

答案 3 :(得分:0)

包括"build": "webpack --config webpack.conf.js"无效!

我尝试了webpack --config webpack.config.js,它运行干净,但是升级到4.41.2并用了一段时间后,

"scripts": {
      "test": "echo \"Error: no test specified\" && exit 1",
      "watch": "webpack --watch",
      "build": "webpack"
    },

对我来说效果很好。由于我使用的是webpack 4.41.2,请确保构建版本正确无误

答案 4 :(得分:0)

  1. 尝试将webpack.config.js中的output.path设置为绝对路径

    module.exports = {
        entry: ['./app/index.js'],
        output: {
            path: __dirname + '/build',
            filename: 'bundle.js'
        }
    }
    

    我没有Windows(在Linux上),但是具有节点8.16.0和npm 6.4.1,复制了package.json和webpack.config.js,出现以下错误:

    Invalid configuration object. Webpack has been initialised using a configuration object that does not match the API schema.
     - configuration.output.path: The provided value "./build" is not an absolute path!
        -> The output directory as **absolute path** (required).
    

    更多关于绝对路径的东西here

  2. 因为您使用的是Windows,请检查文件的行尾(CRLF与LF)。如果您是从其他地方克隆代码的,则取决于您的git config,它可能带有不同的行尾。您可以在VSCode的右下角快速检查行尾。 Visual Studio Code File Indicators

我模仿您的设置的步骤:

  1. 复制了您的package.json和webpack.config.js
  2. 运行npm i(或npm install
  3. 运行npm run build-收到上述无效的配置错误
  4. 将output.path更改为与__dirname串联的绝对路径(不确定Windows是否不同...)
  5. 重新运行npm run build并得到:
    ERROR in multi ./app/index.js
    Module not found: Error: Can't resolve './app/index.js' in '/tmp/es6'
    @ multi ./app/index.js
    
  6. 运行mkdir app && touch app/index.js(在Linux中,创建文件夹“ app”,然后在app文件夹中创建index.js文件)
  7. 重获npm run build并获得成功:

    > es6@1.0.0 build /tmp/es6
    > webpack
    
    Hash: 0578ec98b09c215702c6
    Version: webpack 3.12.0
    Time: 34ms
        Asset     Size  Chunks             Chunk Names
    bundle.js  2.59 kB       0  [emitted]  main
    [0] multi ./app/index.js 28 bytes {0} [built]
    [1] ./app/index.js 0 bytes {0} [built]
    

答案 5 :(得分:0)

检查您的package.json构建中是否存在,如果没有,则在脚本中提及它

 func setupValues(){
    self.layer.cornerRadius = self.cornerRadius
    self.layer.shadowColor = self.shadowColor.cgColor
    self.layer.shadowOffset = self.shadowOffset
    self.layer.shadowRadius = self.shadowRadius
    self.layer.shadowOpacity = self.shadowOpacity
    self.layer.borderWidth = self.borderWidth
    self.layer.borderColor = self.borderColor.cgColor
    
}

open override func prepareForInterfaceBuilder() {
    self.setupValues()
    
}

open override func awakeFromNib() {
    self.setupValues()
}

@IBInspectable var cornerRadius: CGFloat = 10
@IBInspectable public var borderWidth: CGFloat = 0.0
@IBInspectable public var borderColor: UIColor = UIColor.color(red: 0, green: 0, blue: 0, alpha: 1.0){
    didSet {
        self.setupValues()
    }
}
@IBInspectable public var shadowColor: UIColor = UIColor.color(red: 0, green: 0, blue: 0, alpha: 1.0) {
    didSet {
        self.setupValues()
    }
}
@IBInspectable public var shadowOffset: CGSize = CGSize(width: 0, height: 4)
@IBInspectable public var shadowRadius: CGFloat = 20.0
@IBInspectable public var shadowOpacity: Float = 0.1

答案 6 :(得分:0)

首先检查您的根文件夹中是否有 .babelrc 文件。

如果你已经拥有

将此添加到您的 package.json 文件中

"scripts": {
    "dev": "webpack --config=Scripts/config/webpack.dev.js --watch",
    "build": "webpack --config=Scripts/config/webpack.prod.js",
    "test": "echo \"Error: no test specified\" && exit 1"
  },