package.json of module-A has module-B listed as dependency
"dependencies": {
"@mynamespace/module-b": "^0.0.1",
module B is a local module and is linked successfully from module A with npm link
. Compiling / running things all goes good and well.
However when I try to install any new module in module A with npm install something
or just run npm install
or npm uninstall something
I always get the error from npm that the local module (which is npm link-ed) is not found.
C:\web\module-b>npm install
npm ERR! code E404
npm ERR! 404 Not Found: @mynamespace/module-b@^0.0.1
I checked the main
property in package.json
in both modules as suggested here. There are several similar questions, but none seem to be exactly this problem or give a solution that works.
Right now I'm manually removing all mentions of linked modules from package.json, then I run npm commands, and than I add them back to package.json
Im using npm 6.1.0
Edit: Ah, this might be crucial? @mynamespace/module-b does not exist yet in NPM registry, only locally
Right now I'm manually removing all mentions of linked modules from package.json, then I run npm commands, and than I add them back to package.json
Unfortunately this is the only way this can work. npm install
will always search the npm registry if you only specify a version (i.e "@mynamespace/module-b": "^0.0.1",
or "*"
) so running npm install
will override what you have in the node_modules
of your project with what it finds on the npm registry (or throw a 404 in this case).
Assuming you've read this article, there is no way to use the npm link
method and also run npm install
. For this you'll have to explicitly write the path to the local package in yourmain project's package.json
(and then change it back when you've published your package).
"dependencies": { "@mynamespace/module-b": "file:../../module-b", },
I hope this helps.
Npm can do it automatically if you add an "install" script to package.json, which runs right after npm install.
"scripts": {
"install": "npm link <your package>"
},
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With