Ошибка "ошибка Не удалось найти пакет" XXX "при создании проекта на конвейере CI и при попытке добавить пакеты через Yarn - PullRequest
6 голосов
/ 12 февраля 2020

После возвращения в наш проект после выходных моя команда встретилась с ошибкой " error. Не удалось найти пакет" 3d-view@^2.0.0 ", требуемый для" gl-plot3d@^2.4.2 " в реестре "npm"."в нашем конвейере CI во время фазы установки. Кроме того, эта ошибка возникла при попытке добавить пакеты с помощью пряжи, что привело к завершению процесса.

Эта ошибка возникает на внешней стороне нашего проекта и не отображается при его обычном запуске через запуск пряжи. На последнем пу sh перед выходными все прошло нормально, без ошибок.

Журнал нашей работы CI, начиная с команды установки:

$ yarn install
 yarn install v1.17.3
 info No lockfile found.
 [1/4] Resolving packages...
 warning @material-ui/core > popper.js@1.16.1: You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1
 warning moments > myconf > babel > babel-core > minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
 warning moments > myconf > babel > babel-core > core-js@1.2.7: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
 warning plotly.js > regl-splom > left-pad@1.3.0: use String.prototype.padStart()
 warning plotly.js > ndarray-fill > cwise > static-module > through2 > xtend > object-keys@0.4.0: 
 warning plotly.js > point-cluster > bubleify > buble > os-homedir@2.0.0: This is not needed anymore. Use `require('os').homedir()` instead.
 error Couldn't find package "3d-view@^2.0.0" required by "gl-plot3d@^2.4.2" on the "npm" registry.
 info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.

Наш .gitlab-ci.yml code:

stages:
  - build
#  - test
#  - deploy

before_script:
#  - echo `pwd` # debug
#  - echo "$CI_BUILD_NAME, $CI_BUILD_REF_NAME $CI_BUILD_STAGE" # debug
  - export GRADLE_USER_HOME=`pwd`/.gradle
  - unset CI

cache:
  paths:
    - .gradle/wrapper
    - .gradle/caches

build backend:
  image: gradle:6.1-jdk8
  stage: build
  script:
    - cd backend
    - gradle war


  artifacts:
    paths:
      - backend/build/libs/*.jar
    expire_in: 1 week

build frontend:
  image: node:10.16.3
  stage: build
  script:
    - cd frontend
    - yarn install
    - export NODE_OPTIONS=--max_old_space_size=4096
    - yarn build

Зависимости в пакете. json:

 "dependencies": {
    "@material-ui/core": "^4.9.0",
    "@material-ui/icons": "^4.5.1",
    "@testing-library/jest-dom": "^4.2.4",
    "@testing-library/react": "^9.3.2",
    "@testing-library/user-event": "^7.1.2",
    "axios": "^0.19.2",
    "moments": "^0.0.2",
    "plotly.js": "^1.52.1",
    "react": "^16.12.0",
    "react-dom": "^16.12.0",
    "react-plotly.js": "^2.4.0",
    "react-scripts": "3.3.0"
  }

Мы понятия не имеем, как это может произойти, поскольку никто не подтолкнул что-либо к ветке в это время и был замечен когда один из членов команды отправлял очищенную версию нашего кода, а другой пытался установить новый пакет через Yarn.

Ответы [ 2 ]

1 голос
/ 12 февраля 2020

Мне удалось исправить установку отсутствующего пакета вручную:

sudo npm i git://github.com/mikolalysenko/3d-view
sudo npm install
0 голосов
/ 14 февраля 2020

Кажется, что проблема уже решена и устранена, но вот некоторые жизнеспособные решения, найденные для других ответов и нашего собственного исследования на случай, если это произойдет снова:

1) Добавьте 3D-вид в yarn.lock перед установка и добавление Plotly. js или любых других пакетов:

    "3d-view@^2.0.0":
  version "2.0.0"
  resolved "https://registry.yarnpkg.com/3d-view/-/3d-view-2.0.0.tgz#831ae942d7508c50801e3e06fafe1e8c574e17be"
  integrity sha1-gxrpQtdQjFCAHj4G+v4ejFdOF74=
  dependencies:
    matrix-camera-controller "^2.1.1"
    orbit-camera-controller "^4.0.0"
    turntable-camera-controller "^3.0.0"

2) Вручную установите пакет с добавленным реестром:

yarn add 3d-view@2.0.0 --registry https://yarn.npmjs.org

Спасибо пользователю masseyb

npm i git://github.com/mikolalysenko/3d-view

Спасибо пользователю Dio go Falcão

...