2

I'm in the process of upgrading some infrastructure to Node 16 from 12. As part of this, npm was also upgraded.

Prior to the upgrade, I had a symbolic link in my package.json represented as link:./dist/src/shared

{
  "name": "api",
  "private": true,
  "version": "1.0.0",
  "description": "API",
  "main": "server.js",
  "dependencies": {
    "shared": "link:./dist/src/shared",
  },
  "installConfig": {
    "hoistingLimits": "workspaces"
  }
}

I had an npm error npm ERR! Unsupported URL Type "link:": link:./dist/src/shared, which I found is because "link:" is no longer supported by npm. As I understand it, I have to switch from "link:" to "file:".

However, after switching from "link:" to "file:" in my package.json, I get the following error when running yarn install:

➤ YN0000: ┌ Resolution step
➤ YN0013: │ shared@file:./dist/src/shared#./dist/src/shared::hash=ce19ac&locator=api%40wor
➤ YN0001: │ Error: shared@file:./dist/src/shared#./dist/src/shared::hash=ce19ac&locator=api%40workspace%3Aapi: Manifest not found

From what I've found online, yarn should support both the "link:" and "file:" syntax. Anyone have any idea why it stops working when I switch to "file:"?

Alex von Brandenfels
  • 1,608
  • 15
  • 25

1 Answers1

1

I solved the same issue by adding a package.json file with the content {} in the target folder

gatti
  • 1,083
  • 1
  • 11
  • 25