process.env 때문에 경고를 오류로 간주하고 있습니다.CI = 참입니다.컴파일 실패
저는 리액트 웨더 어플리케이션으로 셀프 학습을 하고 있습니다.gh-page에서도 동일하게 전개.
URL
https://davisraimon.github.io/react-weather/
레포
https://github.com/davisraimon/react-weather
나의 애플리케이션을 Travis Ci와 통합하려고 했을 때 다음과 같은 오류가 발생하였습니다.Process.env라고 하는 env 변수를 변경해야 한다고 되어 있습니다.CI.
$ git clone --depth=50 --branch=master https://github.com/davisraimon/react-weather.git davisraimon/react-weather
nvm.install
4.18s$ nvm install stable
cache.1
Setting up build cache
cache.npm
$ node --version
v14.4.0
$ npm --version
6.14.5
$ nvm --version
0.35.3
install.npm
13.21s$ npm ci
7.45s$ npm run build
> react-weather@0.1.0 build /home/travis/build/davisraimon/react-weather
> react-scripts build
Creating an optimized production build...
Treating warnings as errors because process.env.CI = true.
Most CI servers set it automatically.
Failed to compile.
./src/components/form.component.js
Line 1:17: 'Component' is defined but never used no-unused-vars
./src/App.js
Line 2:8: 'logo' is defined but never used no-unused-vars
Line 8:7: 'API_key' is assigned a value but never used no-unused-vars
Line 37:5: Expected a default case default-case
Line 53:14: Expected '===' and instead saw '==' eqeqeq
Line 69:20: Expected '===' and instead saw '==' eqeqeq
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! react-weather@0.1.0 build: `react-scripts build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the react-weather@0.1.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/travis/.npm/_logs/2020-06-30T17_45_07_887Z-debug.log
The command "npm run build" exited with 1.
cache.2
store build cache
.travis.yml 파일에 env 변수를 추가했습니다.
env:
process.env.CI : false
그래도 같은 에러가 나타난다.
누가 이 상황에서 나를 도와줄 수 있나요?
"scripts": {
"start": "react-scripts start",
"build": "CI=false && react-scripts build", // Add CI=False here
"test": "react-scripts test",
"eject": "react-scripts eject"
},
저에게 해결책은 다음과 같습니다.
env:
CI: false
GitLab CICD 파이프라인 내에서 빌드 및 배포를 계속해야 하는 경우 다음과 같이 CI=false를 포함할 수 있습니다.
CI=false npm run build
또는
unset CI
npm run build
다음은 완전한 gitlab_ci 작업 샘플입니다.
build-dev:
environment: DEV
image: node:16
stage: build
script:
- npm install
- CI=false npm run build
only:
- /^devrelease-.*$/
tags:
- docker
또는
build-dev:
environment: DEV
image: node:16
stage: build
script:
- unset CI
- npm install
- npm run build
only:
- /^devrelease-.*$/
tags:
- docker
교환은 이쪽에서npm run build
와 함께CI='' npm run build
일했다.
제 경우에는 Netlify를 사용하고 있었기 때문에 Netlify 패널 내에서 ENV vars를 설정했을 뿐입니다.
- 사이트 설정 탭 선택
- 빌드 및 전개 선택
- 환경변수까지 스크롤하여 변수 편집을 누릅니다.
- 키 = CI 및 값 = false로 입력합니다.
- 저장을 누르고 새 배포를 트리거합니다.
다음의 순서에 따라서, 문제가 해결됩니다.
- 사이트 설정 탭 선택
- 빌드 및 전개 선택
- 환경변수까지 스크롤하여 [Edit Variables]를 선택합니다.
- 키 = CI 및 값 = false로 입력합니다.
- 캐시 클리어 및 재배치를 누릅니다.
...그리고 즐겁게 보내요.
이 문제는 CI 서버 설정(내 경우 netlify)에 의해 발생합니다.다음의 순서에 따라서, 문제가 해결됩니다.
선택-->Site Settings
탭
선택-->Build and Deploy
아래로 스크롤하여 환경변수를 선택합니다.Edit Variables
기입해 주세요.Key = CI
그리고.Value = false
누르다clear cache and redeploy
CI=true는 배포 중에 테스트를 처리하려는 경우 필요하지만 패키지를 통해 플래그를 설정하면 쉽게 아카이브할 수 있습니다.json(도커 파일에 ENV CI=true가 이미 설정되어 있는 경우 제거할 수 있음)
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "CI=true react-scripts test"
}
몇 시간 동안 구글을 검색한 결과, 저는 Azure Devops에서 다음과 같이 일했습니다.
당신의 소포 안에.json
"scripts": {
...
"build": "set \"CI=false\" && react-scripts build
}
주의: 이스케이프된 따옴표는 중요합니다!
제 경우 GitHub repo를 통해 Azure Static 웹 페이지에 리액트 앱을 도입하려고 했습니다.env: CI: false
아주 잘 작동했어요.잠깐 메모만 할게요.이것은 GitHub 액션에서 CI 프로세스를 정의하는 yaml에 적용되었습니다.env 요소에는 들여쓰기가 없습니다(이름과 같은 수준).
yml 파일의 Gitlab CI 작업에서는 아래 스크립트를 제 작업에 추가한 것이 효과가 있었습니다.
script:
- CI=false yarn run build
대응하고 있는 경고를 수정해야 합니다.그 때문에, 전개할 수 없게 됩니다.
Windows 서버에 전개하거나 powershell을 사용하여 환경변수를 다음과 같이 설정할 수 있습니다.
script:
- $env:CI="false"
- npm run build
또는 다음과 같이 입력합니다.
$env:CI="false"; npm run build
언급URL : https://stackoverflow.com/questions/62663451/treating-warnings-as-errors-because-process-env-ci-true-failed-to-compile
'programing' 카테고리의 다른 글
선택 옵션에 대한 값 속성을 설정하려면 어떻게 해야 합니까? (0) | 2023.02.24 |
---|---|
material-ui 텍스트 필드 스타일링 방법 (0) | 2023.02.24 |
WordPress 텍스트 편집기를 사용하여 html처럼 행동하는 방법 (0) | 2023.02.24 |
플라스크 jsonify 객체 목록 (0) | 2023.02.24 |
요소가 존재하는지 여부에 대한 조건을 영사기에 작성하는 방법 (0) | 2023.02.24 |