![](/img/trans.png)
[英]Is there a way to install dependencies from a package.json file into a different directory?
[英]How to have npm dependencies from different registries in the package.json?
在我的 package.json 文件中,我声明了依赖项,其中一个来自公共注册表,第二个来自私有注册表(在这种情况下为 Artifactory)。
"dependencies": {
"vue": "^2.4.4", //public registry
"ce-ui": "http://myartifactory.com/artifactory/npm-local/ce-ui/-/ce-ui-0.0.2.tgz"
}
我正在寻找使用 caret 或 tidle 声明依赖项的方法,例如
"dependencies": {
"vue": "^2.4.4",
"ce-ui": "^0.0.2"
}
提前谢谢你。
要在同一个 package.json 中引用来自不同注册表的依赖项,npm 建议使用 scope
作用域包看起来像
"dependencies": {
"@myorg/mypackage": "^1.3.0"
}
您可以使用 npm config 将范围与注册表关联:
npm config set @myorg:registry http://reg.example.com
一旦范围与注册表相关联,具有该范围的包的任何 npm 安装都将从该注册表而不是默认注册表https://registry.npmjs.org请求包
我建议您在 Artifactory 中拥有一个虚拟存储库,其中包含两个存储库:
然后:
使用以下命令将默认注册表替换为新的本地存储库:
npm config set registry http://<ARTIFACTORY_SERVER_DOMAIN>:8081/artifactory/api/npm/your-npm-virtual-repo-name
将您的包部署到 Artifactory。 第一次您可以手动将工件上传到 artifactory 或在每个项目中使用此命令:
npm publish --registry http://<ARTIFACTORY_SERVER_DOMAIN>:8081/artifactory/api/npm/your-virtual-repo-name
删除 package.json 中的链接并仅替换为依赖项名称和版本,例如:
"dependencies": { "vue": "^2.4.4", "ce-ui": "^0.0.2" }
更多信息在这里:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.