Я отправил свой код в GitLab, и все было в порядке, но когда я пытаюсь развернуть свой проект React.js в GitLab, я получаю следующую ошибку:
Раньше я развернул этот проект на GitHub, и все было в порядке.
мой код package.json:
{
"name": "app",
"version": "0.1.0",
"private": true,
"homepage": "https://groupname.gitlab.io/projectName/",
"dependencies": {
"ellipsis-tooltip-react-chan": "^1.1.1",
"gh-pages": "^3.1.0",
"modal-simple": "^1.0.19",
"node-sass": "^5.0.0",
"paginering": "^1.0.6",
"react": "^17.0.1",
"react-dom": "^17.0.1",
"react-scripts": "4.0.1",
"reactjs-popup": "^2.0.4",
"recharts": "^1.8.5",
"styled-components": "^5.2.1",
"web-vitals": "^0.2.4"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject",
"deploy": "gh-pages -d build",
"predeploy": "npm run build"
},
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}
мой файл .gitlab-ci.yml
я нашел это решение на GitHub, но оно не работает для меня
image: node:7.9.0 # change to match your node version
cache:
paths:
- node_modules/
before_script:
- npm install
test:
stage: test
script:
- CI=true npm test
pages:
stage: deploy
script:
- CI=true npm run build
- rm -rf public
- mv build public
artifacts:
paths:
- publiC# GitLab pages serve from a 'public' directory
only:
- master # run on master branch
Я решил эту проблему. Это происходило потому, что моя настоящая версия узла (npm) не была такой, как в моем файле .gitlab-ci.yml.
Требуется печать node --version
в терминале, и он отображает мою текущую версию узла (в моем случае это была 12.18.3)
Я меняю свой файл .gitlab-ci.yml на
image: node:12.18.3 # change to match your project's node version
cache:
paths:
- node_modules/
before_script:
- rm -rf build
- CI=false npm install
pages:
stage: deploy
script:
- CI=false npm run build
- rm -rf public
- cp build/index.html build/404.html
- mv build public
artifacts:
paths:
- public
only:
- master
И все было развернуто