错误“错误找不到包"XXX“在 CI 管道上构建项目以及尝试通过 Yarn 添加包时 [英] Error "error Couldn't find package "XXX" when building project on CI pipeline and when trying to add packages via Yarn

查看:31
本文介绍了错误“错误找不到包"XXX“在 CI 管道上构建项目以及尝试通过 Yarn 添加包时的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

周末后返回我们的项目后,我的团队遇到了错误错误无法找到gl-plot3d@^2.4.2"所需的包3d-view@^2.0.0"在安装阶段的npm"注册表上."在我们的 CI 管道上.此外,在尝试使用纱线添加包时发生此错误,终止进程.

After returning to our project after the weekend my team was met with the error "error Couldn't find package "3d-view@^2.0.0" required by "gl-plot3d@^2.4.2" on the "npm" registry." on our CI pipeline during the install phase. Additionally, this error occurred when trying to add packages with yarn, terminating the process.

这个错误发生在我们项目的前端,并且在通过 yarn start 正常启动时不会出现.在周末前的最后一次推送中,一切正常,没有任何错误.

This error is happening on the front-end side of our project and doesn't show up upon starting it normally via yarn start. On the last push before the weekend everything went normal without any errors.

从安装命令开始的 CI 作业日志:

Log of our CI job starting at the install command:

$ 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 代码:

Our .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

package.json 中的依赖项:

Dependencies in package.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 安装新包时,我们注意到了这一点.

We are clueless of how this could happen, as nobody pushed anything to the branch in the meantime and was noticed when a team member was pushing a cleaned up version of our code and another was trying to install a new package via Yarn.

推荐答案

似乎这个问题已经得到解决和修复,但这里有一些可行的解决方案可以解决其他答案和我们自己的研究,以防再次发生这种情况:

It seems the issue has been addressed and fixed already but here are some viable solutions found to other answers and our own research in case this happens again:

1) 在安装和添加 Plotly.js 或任何其他包之前,将 3d-view 添加到 yarn.lock:

1) Add 3d-view to yarn.lock before installing it and adding Plotly.js or any other packages:

    "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) 手动安装添加了注册表的包:

2) Manually install the package with a registry added:

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

感谢用户ma​​sseyb

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

感谢用户 Diogo Falcão

这篇关于错误“错误找不到包"XXX“在 CI 管道上构建项目以及尝试通过 Yarn 添加包时的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆