Skip to content

Since v9.17.0, peer dependencies issues have been introduced #16245

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Closed
3 tasks done
EDM115 opened this issue May 9, 2025 · 4 comments · Fixed by #16256
Closed
3 tasks done

Since v9.17.0, peer dependencies issues have been introduced #16245

EDM115 opened this issue May 9, 2025 · 4 comments · Fixed by #16256
Assignees

Comments

@EDM115
Copy link

EDM115 commented May 9, 2025

Is there an existing issue for this?

How do you use Sentry?

Sentry Saas (sentry.io)

Which SDK are you using?

@sentry/nextjs

SDK Version

9.17.0

Framework Version

Next 15.3.2

Link to Sentry event

No response

Reproduction Example/SDK Setup

No response

Steps to Reproduce

This issue is more likely to appear in monorepos as I found, but basically since the introduction of @fastify/otel, it clashes with @sentry/opentelemetry, both of them wanting different versions of @opentelemetry packages :

mkdir test && cd test
pnpm init
mkdir packages/node && cd packages/node
pnpm init
pnpm add @sentry/node
cd ..\.. && mkdir services/next && cd services/next
pnpm init
pnpm add @sentry/nextjs
cd ..\..
echo "packages:
  - services/*
  - packages/*
" > pnpm-workspace.yaml
pnpm i

Expected Result

There should be no peer dependencies issues

Actual Result

PS C:\Users\EDM115\Desktop\test> pnpm i
Scope: all 3 workspace projects
Packages: +275
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Progress: resolved 326, reused 275, downloaded 0, added 275, done
 WARN  Issues with peer dependencies found
services/next
└─┬ @sentry/nextjs 9.17.0
  └─┬ @sentry/opentelemetry 9.17.0
    ├── ✕ unmet peer @opentelemetry/core@^1.30.1: found 2.0.0
    └── ✕ unmet peer @opentelemetry/instrumentation@^0.57.1: found 0.200.0

╭ Warning ───────────────────────────────────────────────────────────────────────────────────╮
│                                                                                            │
│   Ignored build scripts: @sentry/cli, sharp.                                               │
│   Run "pnpm approve-builds" to pick which dependencies should be allowed to run scripts.   │
│                                                                                            │
╰────────────────────────────────────────────────────────────────────────────────────────────╯

Done in 18.2s using pnpm v10.7.0
PS C:\Users\EDM115\Desktop\test> pnpm why -r @opentelemetry/core
Legend: production dependency, optional only, dev only

node@1.0.0 C:\Users\EDM115\Desktop\test\packages\node

dependencies:
@sentry/node 9.17.0
├─┬ @fastify/otel 0.6.0
│ └── @opentelemetry/core 2.0.0
├── @opentelemetry/core 1.30.1
├─┬ @opentelemetry/instrumentation-amqplib 0.46.1
│ └── @opentelemetry/core 1.30.1
├─┬ @opentelemetry/instrumentation-connect 0.43.1
│ └── @opentelemetry/core 1.30.1
├─┬ @opentelemetry/instrumentation-express 0.47.1
│ └── @opentelemetry/core 1.30.1
├─┬ @opentelemetry/instrumentation-fs 0.19.1
│ └── @opentelemetry/core 1.30.1
├─┬ @opentelemetry/instrumentation-hapi 0.45.2
│ └── @opentelemetry/core 1.30.1
├─┬ @opentelemetry/instrumentation-http 0.57.2
│ └── @opentelemetry/core 1.30.1
├─┬ @opentelemetry/instrumentation-koa 0.47.1
│ └── @opentelemetry/core 1.30.1
└─┬ @opentelemetry/instrumentation-mongoose 0.46.1
  └── @opentelemetry/core 1.30.1

next@1.0.0 C:\Users\EDM115\Desktop\test\services\next

dependencies:
@sentry/nextjs 9.17.0
└─┬ @sentry/node 9.17.0
  ├─┬ @fastify/otel 0.6.0
  │ └── @opentelemetry/core 2.0.0
  ├── @opentelemetry/core 1.30.1
  ├─┬ @opentelemetry/instrumentation-amqplib 0.46.1
  │ └── @opentelemetry/core 1.30.1
  ├─┬ @opentelemetry/instrumentation-connect 0.43.1
  │ └── @opentelemetry/core 1.30.1
  ├─┬ @opentelemetry/instrumentation-express 0.47.1
  │ └── @opentelemetry/core 1.30.1
  ├─┬ @opentelemetry/instrumentation-fs 0.19.1
  │ └── @opentelemetry/core 1.30.1
  ├─┬ @opentelemetry/instrumentation-hapi 0.45.2
  │ └── @opentelemetry/core 1.30.1
  ├─┬ @opentelemetry/instrumentation-http 0.57.2
  │ └── @opentelemetry/core 1.30.1
  ├─┬ @opentelemetry/instrumentation-koa 0.47.1
  │ └── @opentelemetry/core 1.30.1
  └─┬ @opentelemetry/instrumentation-mongoose 0.46.1
    └── @opentelemetry/core 1.30.1
PS C:\Users\EDM115\Desktop\test> pnpm why -r @opentelemetry/instrumentation
Legend: production dependency, optional only, dev only

node@1.0.0 C:\Users\EDM115\Desktop\test\packages\node

dependencies:
@sentry/node 9.17.0
├─┬ @fastify/otel 0.6.0
│ └── @opentelemetry/instrumentation 0.200.0
├── @opentelemetry/instrumentation 0.57.2
├─┬ @opentelemetry/instrumentation-amqplib 0.46.1
│ └── @opentelemetry/instrumentation 0.57.2
├─┬ @opentelemetry/instrumentation-connect 0.43.1
│ └── @opentelemetry/instrumentation 0.57.2
├─┬ @opentelemetry/instrumentation-dataloader 0.16.1
│ └── @opentelemetry/instrumentation 0.57.2
├─┬ @opentelemetry/instrumentation-express 0.47.1
│ └── @opentelemetry/instrumentation 0.57.2
├─┬ @opentelemetry/instrumentation-fs 0.19.1
│ └── @opentelemetry/instrumentation 0.57.2
├─┬ @opentelemetry/instrumentation-generic-pool 0.43.1
│ └── @opentelemetry/instrumentation 0.57.2
├─┬ @opentelemetry/instrumentation-graphql 0.47.1
│ └── @opentelemetry/instrumentation 0.57.2
└─┬ @opentelemetry/instrumentation-hapi 0.45.2
  └── @opentelemetry/instrumentation 0.57.2

next@1.0.0 C:\Users\EDM115\Desktop\test\services\next

dependencies:
@sentry/nextjs 9.17.0
└─┬ @sentry/node 9.17.0
  ├─┬ @fastify/otel 0.6.0
  │ └── @opentelemetry/instrumentation 0.200.0
  ├── @opentelemetry/instrumentation 0.57.2
  ├─┬ @opentelemetry/instrumentation-amqplib 0.46.1
  │ └── @opentelemetry/instrumentation 0.57.2
  ├─┬ @opentelemetry/instrumentation-connect 0.43.1
  │ └── @opentelemetry/instrumentation 0.57.2
  ├─┬ @opentelemetry/instrumentation-dataloader 0.16.1
  │ └── @opentelemetry/instrumentation 0.57.2
  ├─┬ @opentelemetry/instrumentation-express 0.47.1
  │ └── @opentelemetry/instrumentation 0.57.2
  ├─┬ @opentelemetry/instrumentation-fs 0.19.1
  │ └── @opentelemetry/instrumentation 0.57.2
  ├─┬ @opentelemetry/instrumentation-generic-pool 0.43.1
  │ └── @opentelemetry/instrumentation 0.57.2
  ├─┬ @opentelemetry/instrumentation-graphql 0.47.1
  │ └── @opentelemetry/instrumentation 0.57.2
  └─┬ @opentelemetry/instrumentation-hapi 0.45.2
    └── @opentelemetry/instrumentation 0.57.2
@EDM115 EDM115 added the Bug label May 9, 2025
@getsantry getsantry bot moved this to Waiting for: Product Owner in GitHub Issues with 👀 3 May 9, 2025
@EDM115
Copy link
Author

EDM115 commented May 9, 2025

cc #15130 #15542

@dvins
Copy link

dvins commented May 9, 2025

The road to hell is paved with peerDependencies.

@onurtemizkan onurtemizkan self-assigned this May 9, 2025
@andreiborza
Copy link
Member

Hi, thanks for filing this. We're working on this over here: #16246

@getsantry getsantry bot removed the status in GitHub Issues with 👀 3 May 9, 2025
andreiborza added a commit that referenced this issue May 12, 2025
…tel v1 deps

The `@fastify/otel` instrumentation uses OpenTelemetry v2, but for the time
being Sentry only supports OpenTelemetry v1. We forked the library at
https://github.com/getsentry/fastify-otel/tree/otel-v1 and downgraded its
dependencies to OpenTelemetry v1.

Resolves: #16245
andreiborza added a commit that referenced this issue May 12, 2025
…tel v1 deps (#16256)

The `@fastify/otel` instrumentation uses OpenTelemetry v2, but for the
time being Sentry only supports OpenTelemetry v1. We forked the library
at https://github.com/getsentry/fastify-otel/tree/otel-v1 and downgraded
its dependencies to OpenTelemetry v1.

For the downgrade work in the fork see:
getsentry/fastify-otel@7893f70

**Note**: This also bumps the instrumentation from `0.6.0` to `0.8.0`.

Resolves: #16245

---------

Co-authored-by: Francesco Gringl-Novy <francesco.novy@sentry.io>
Copy link
Contributor

A PR closing this issue has just been released 🚀

This issue was referenced by PR #16256, which was included in the 9.18.0 release.

andreiborza added a commit that referenced this issue May 19, 2025
With #16256 we switched from upstream `@fastify/otel` to a Otel v1 downgraded
fork to ensure dependencies are aligned with our node sdk.

This PR will re-introduce a warning about unmet dependencies #16245 for the time
being.
# for free to join this conversation on GitHub. Already have an account? # to comment
Projects
Archived in project
4 participants