Ka.*_*I.Z 6 nexus npm nexus3 yarnpkg angular
我已经设置了 Nexus 3 Manager 来托管私有 npm 包。Nexus 包含三个 npm 存储库,一个hosted、一个proxy和一个group用于组合另外两个。如果npm bearer realm已激活,我正在使用具有管理员角色的 Nexus 用户进行测试。
我现在已经通过 Angular cli 设置了一个简单的 Angular 库用于发布。在角度项目中,我配置.npmrc如下:
registry=https://urlToMyNexus/repo/npm-all/
_authToken=NpmToken.XXXX
Run Code Online (Sandbox Code Playgroud)
现在我想通过 来安装 nexus 中设置组存储库上的所有软件包yarn install。和.npmrcin .yarnrchome 家庭词典为空。
预配置package.json如下所示:
{
"name": "test-libraries",
"version": "0.0.0",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
},
"private": true,
"dependencies": {
"@angular/animations": "~9.1.1",
"@angular/common": "~9.1.1",
"@angular/compiler": "~9.1.1",
"@angular/core": "~9.1.1",
"@angular/forms": "~9.1.1",
"@angular/platform-browser": "~9.1.1",
"@angular/platform-browser-dynamic": "~9.1.1",
"@angular/router": "~9.1.1",
"rxjs": "~6.5.4",
"tslib": "^1.10.0",
"zone.js": "~0.10.2"
},
"devDependencies": {
"@angular-devkit/build-angular": "~0.901.1",
"@angular-devkit/build-ng-packagr": "~0.901.1",
"@angular/cli": "~9.1.1",
"@angular/compiler-cli": "~9.1.1",
"@angular/language-service": "~9.1.1",
"@types/jasmine": "~3.5.0",
"@types/jasminewd2": "~2.0.3",
"@types/node": "^12.11.1",
"codelyzer": "^5.1.2",
"jasmine-core": "~3.5.0",
"jasmine-spec-reporter": "~4.2.1",
"karma": "~4.4.1",
"karma-chrome-launcher": "~3.1.0",
"karma-coverage-istanbul-reporter": "~2.1.0",
"karma-jasmine": "~3.0.1",
"karma-jasmine-html-reporter": "^1.4.2",
"ng-packagr": "^9.0.0",
"protractor": "~5.4.3"
"ts-node": "~8.3.0",
"tslint": "~6.1.0",
"typescript": "~3.8.3"
}
}
Run Code Online (Sandbox Code Playgroud)
该yarn install命令现在可以安装@angular中的所有软件包dependencies,但在 中失败rxjs。它给出了错误error Couldn't find package "rxjs" on the "npm" registry.
如果我尝试npm install使用相同的配置,所有软件包都会在 Nexus 存储库上正确安装。
有人遇到同样的问题吗?
这周我遇到了同样的问题。当我使用yarn时,它会失败,并error Couldn't find package "@egjs/hammerjs" on the "npm" registry.在卸载node_modules和yarn.lock后,它可以显示另一个包名称,但错误是相同的。但是,如果我使用npm install纱线 - 安装工作正常。就我而言,这不是一个选择,因为项目已经开发了一年多,我不想因此而更换包管理器。如果我能找到适用于纱线的解决方案,我将进一步调查并编辑这篇文章
更新: 对我来说,以下步骤确实解决了这个问题:
yarn config delete registry从纱线内部配置中删除当前注册表 URLregistry=https://nexus-registry-url.com
always-auth=true
_auth=<base64-token-value>
Run Code Online (Sandbox Code Playgroud)
此步骤yarn install适用于我的本地计算机和我们在 docker 中的项目 CI/CD。
| 归档时间: |
|
| 查看次数: |
12936 次 |
| 最近记录: |