NodeJS 命令失败,退出代码为1:CI= npm运行构建

zpf6vheq  于 2023-03-22  发布在  Node.js
关注(0)|答案(7)|浏览(291)

我一直在为这事失去理智
我已经使用this视频作为参考,但我仍然得到下面的错误
我尝试了从Netlify FormyoutubeStackoverflow的所有方法

5:33:23 AM: ────────────────────────────────────────────────────────────────
5:33:23 AM:   "build.command" failed                                        
5:33:23 AM: ────────────────────────────────────────────────────────────────
5:33:23 AM: ​
5:33:23 AM:   Error message
5:33:23 AM:   Command failed with exit code 1: CI= npm run build
5:33:23 AM: ​
5:33:23 AM:   Error location
5:33:23 AM:   In Build command from Netlify app:
5:33:23 AM:   CI= npm run build
5:33:23 AM: ​
5:33:23 AM:   Resolved config
5:33:23 AM:   build:
5:33:23 AM:     command: CI= npm run build
5:33:23 AM:     commandOrigin: ui
5:33:23 AM:     publish: /opt/build/repo/dist

我的package.json文件

{
  "name": "testing",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "./node_modules/.bin/netlify-lambda serve src",
    "build": "CI= npm run build"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/<my-username>/testing.git"
  },
  "author": "",
  "license": "ISC",
  "bugs": {
    "url": "https://github.com/<my-username>/testing/issues"
  },
  "homepage": "https://github.com/<my-username>/testing#readme",
  "dependencies": {
    "express": "^4.17.1",
    "netlify-lambda": "^2.0.6",
    "serverless-http": "^2.7.0"
  }
}

My netlify.toml

[build]

functions = "functions"

部署设置

我错过了什么?请帮助我失去了我的头发在这个

a2mppw5e

a2mppw5e1#

通常,选择在出现警告时失败的库假定其用户希望修复导致警告的问题。如果这对于您的用例不实用,则可以通过在站点构建命令的开头添加CI=''来覆盖CI变量。例如:

CI='' npm run build

这解决了我自己的类似问题

ztmd8pv5

ztmd8pv52#

我有一个类似的错误,我发现下面已经修复了它。
首先,在package.json中,您必须将构建脚本更改为"build": "react-scripts build"
它应该是:

"scripts": {
  "test": "echo \"Error: no test specified\" && exit 1",
  "start": "./node_modules/.bin/netlify-lambda serve src",
  "build": "react-scripts build"
},

在netlify deploy设置中更改为CI= npm build。
并确保您的发布文件夹存在。

wgx48brx

wgx48brx3#

我也有同样的问题。
但由于之前我在package.json文件中添加了一些'--openssl-legacy-provider'(为了克服React版本不兼容问题),我只是删除了它们,然后问题就消失了,甚至CI =''都是不必要的。

pgky5nke

pgky5nke4#

我意识到这与我的应用程序无关,因为'npm run build'(调用react-scripts build)在我的终端上工作正常。
这让我想到了有效的解决方案,上面的答案都是指导性的,但没有明确说明。这是一个网络化构建问题,CI代表持续集成。
在netlify Build设置中,“build command”的值应为“CI= npm run build”。
这对我很有效。

llew8vvj

llew8vvj5#

npm run build在Netlify中失败时,尝试在本地构建以查看更多详细的错误消息可能会有所帮助。
我今天遇到了一个非常类似的错误,构建localy导致了一个更有用的错误消息:

$ npm run build

> react-form@0.1.0 build
> set "GENERATE_SOURCEMAP=false" && react-scripts build

/home/jthetzel/src/c-core-labs/coresight-onboarding-react-checklist/node_modules/react-scripts/config/webpack.config.js:664
        new MiniCssExtractPlugin({
        ^

TypeError: MiniCssExtractPlugin is not a constructor
    at module.exports (/home/jthetzel/src/c-core-labs/coresight-onboarding-react-checklist/node_modules/react-scripts/config/webpack.config.js:664:9)
    at Object.<anonymous> (/home/jthetzel/src/c-core-labs/coresight-onboarding-react-checklist/node_modules/react-scripts/scripts/build.js:58:16)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
    at node:internal/main/run_main_module:17:47

Google开发了https://github.com/facebook/create-react-app/issues/11930
在我的特定案例中,依赖关系中有一个回归,它被修复为:

npm install mini-css-extract-plugin@2.5.1

希望本地npm run build能够帮助揭示Netlify日志中混淆的根本原因。

zzzyeukh

zzzyeukh6#

将.toml文件的[build]部分中的命令更改为:
command: "npm run build"
Image showing how to replace the build command in the netlify.toml file

j13ufse2

j13ufse27#

1.在www.example.com上netlify.com,转到部署失败的项目内的设置Build&deploy
1.在字段构建命令*npm运行构建 * 中,替换为 *CI= npm运行构建 *
1.清除该高速缓存选项后再进行一次部署。

相关问题