У меня установлен частный модуль npm из частного репозитория github.Этот модуль зависит от модуля "axios".Поэтому в package.json я добавил его под зависимостью.
package.json частного модуля
{
"name": "xxx",
"version": "1.0.0",
"description": "xxxx",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "git+https://github.com/xxxx/yyyy.git"
},
"keywords": [
"xxxx"
],
"author": "xxxx",
"license": "ISC",
"bugs": {
"url": "https://github.com/xxx"
},
"homepage": "https://github.com/xxxxx#readme",
"dependencies": {
"axios": "latest"
}
}
Я использую «axios» в моем «индексе».js "также, поэтому" axios "указан как зависимость в моем корневом уровне" package.json "
package.json на корневом уровне
{
"name": "my code",
"version": "1.0.0",
"description": "",
"main": "index.js",
"dependencies": {
"axios": "^0.18.0",
"xxx": "git+ssh://github.com/xxxx/yyyy.git",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}
в целом"axios "указан как зависимость в моем проекте в 2 местах.Когда я выполню установку npm.«axios» устанавливается в двух местах.
- node_modules на корневом уровне
- node_modules присутствует в каталоге xxx
Вот как мой проектструктура после выполнения npm установка
Project
|
+-- index.js
|
+-- package.json
|
+-- node_modules
| |
| +-- axios
| |
| +-- xxx
| | |
| | +-- index.js
| | |
| | +-- package.json
| | |
| | +-- node_modules
| | | |
| | | +-- axios // How to avoid axios getting installed here again and make
it reuse the one in root level node_modules directory