Issue 1:
❯ npm -v
6.14.4

What / Why

npm ls incorrectly says package is missing, but it is not (it is symlinked).

When

First, before symlinking anything with npm link, I see this:

❯ rm -rf node_modules

❯ npm i
added 151 packages from 149 contributors and audited 1231 packages in 2.073s

2 packages are looking for funding
run `npm fund` for details

found 0 vulnerabilities

❯ npm ls solid-js
my-project@ /home/trusktr/src/my-project
└─┬ @lume/element@0.0.7
├─┬ @lume/variable@0.0.3
│ └── solid-js@0.16.14 deduped
└── solid-js@0.16.14

Where

In my terminal.

How

with npm link

Current Behavior

Then, when I symlink a project that I'm working on externally and I want to test it inside an application, I link it then I see this:

❯ npm link @lume/element
/home/trusktr/src/my-project/node_modules/@lume/element -> /home/trusktr/.npm-packages/lib/node_modules/@lume/element -> /home/trusktr/src/lume+umbrella/packages/element

❯ npm ls solid-js
my-project@ /home/trusktr/src/my-project
└─┬ UNMET DEPENDENCY @lume/element@0.0.7
├─┬ @lume/variable@0.0.3
│ └── solid-js@0.16.14 deduped
└── solid-js@0.16.14

NPM says UNMET DEPENDENCY, but the dependency is there! My application works fine, so the build tools see everything just fine.

Steps to Reproduce

In this case, my app depends on @lume/element which is npm linked into the app. @lume/element depends on @lume/variable which is symlinked into @lume/element. And finally, @lume/variable contains the solid-js dependency.

Basically, I see this in node_modules:

❯ find -L node_modules -type d | grep -E "solid-js$|@lume/variable$|@lume/element$"
node_modules/solid-js
node_modules/@lume/variable
node_modules/@lume/element
node_modules/@lume/element/node_modules/@lume/variable
node_modules/@lume/element/node_modules/@lume/variable/node_modules/solid-js
find: File system loop detected; ‘node_modules/@lume/element/node_modules/lowclass/meteor-package/testApp/packages/motor’ is part of the same file system loop as ‘node_modules/@lume/element/node_modules/lowclass/meteor-package’.

I don't think the symlink loop has to do with it, does it?

Also, due to running npm link @lume/element, now there are duplicate packages (solid-js and @lume/variable_ in node_modules.

npm link in general has problems, it seems, and problems crop up especially when libraries expect to export singletons (which is what led me to investigate my node_modules).

Expected Behavior

Issues with npm link aside, the dependency should not be considered unmet, because it is clearly there.

Who

Anyone npm linking things.

References

n/a

Issue 2:
Getting npm error when tried to install carthage.

npm - 6.9.0

Command- npm install carthage

Here is the error log

0 info it worked if it ends with ok

1 verbose cli [ '/usr/local/bin/node',

1 verbose cli '/usr/local/bin/npm',

1 verbose cli 'install',

1 verbose cli 'carthage' ]

2 info using npm@6.9.0

3 info using node@v10.16.3

4 verbose config Skipping project config: /Users/usrName/.npmrc. (matches userconfig)

5 verbose npm-session 7bb22338421ff355

6 silly install loadCurrentTree

7 silly install readLocalPackageData

8 timing npm Completed in 2026ms

9 error cb() never called!

10 error This is an error with npm itself. Please report this error at:

11 error https://npm.community