程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了.npmrc 忽略私有包大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决.npmrc 忽略私有包?

开发过程中遇到.npmrc 忽略私有包的问题如何解决?下面主要结合日常开发的经验,给出你关于.npmrc 忽略私有包的解决方法建议,希望对你解决.npmrc 忽略私有包有所启发或帮助;

我正在尝试在 gitlab 私有实例上使用我的第一个私有 npm 包

我将 @ajouve:registry=https://gitlab.my-website.io/API/v4/packages/npm/ 添加到 .npmrc

命令 npm get 似乎返回了正确的配置

; "project" config from /Volumes/Work/@R_772_9260@ce/.npmrc

@ajouve:registry = "https://gitlab.my-website.io/API/v4/packages/npm/" 

; "cli" config from command line options

omit = [] 
user-agent = "npm/7.5.4 node/v12.18.1 darwin x64" 

; node bin LOCATIOn = /usr/local/bin/node
; cwd = /Volumes/Work/@R_772_9260@ce
; HOME = /Users/ajouve
; Run `npm config ls -l` to show all defaults.

但是当我想添加包时

npm install --save @ajouve/my-module

我有

npm ERR! code E404
npm ERR! 404 Not Found - GET https://registry.npmJs.org/@ajouve/my-module Not found
npm ERR! 404 
npm ERR! 404  '@ajouve/my-module@*' is not in the npm registry.
npm ERR! 404 You should BUG the author to publish it (or use the name yourself!)
npm ERR! 404 
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball,folder,http url,or git url.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/ajouve/.npm/_logs/2021-03-19T15_06_50_186Z-deBUG.log

它转到https://registry.npmjs.org

运行npm config ls -l | grep registry

我有

@H_820_5@metrics-registry = "https://registry.npmJs.org/"
registry = "https://registry.npmJs.org/"
@ajouve:registry = "https://gitlab.my-website.io/API/v4/packages/npm/"

解决方法

使用 git+ssh:// 代替 git://

npm i -S git+ssh://git@gitlab.com:<org>/<project>.git

在这里你可以得到几个答案

Install npm module from gitlab private repository

,

作为几天前开始使用 Gitlab 注册表的人,我遇到了同样的问题。 在 .npmrc 上,范围名称必须与您的数据包范围相匹配。 例如,如果我们有项目 A,它的 package.json 应该是这样的

{
"name": "@myscope/myproject",...Rest of your package.json

你的项目 B 上,.npmrc 必须匹配范围

@myscope:registry=https://gitlab.com/api/v4/packages/npm/

然后,确保您使用范围注册表进行身份验证,否则 NPM 将抛出错误或忽略并在 NPM 注册表中搜索

$ npm config set @myscope:registry https://gitlab.com/api/v4/packages/npm/
$ npm config set -- '//gitlab.com/api/v4/packages/npm/:_authToken' "<your_token>"

注意: 应该是在您的 Gitlab 配置文件上创建的访问令牌。您可以通过进入 Preferences > Access Tokens 来创建它。在创建令牌之前,请务必检查“read_registry”。

然后,您可以轻松安装您的软件包

$ npm install --save @myscope/myproject

编辑:如果您使用的是自托管的 gitlab 实例,则遵循相同的规则,只需记住将“gitlab.com”更改为您的 gitlab 实例 URL。

,

试试这个,应该可以。

npm install --save @ajouve/my-module --registry=https://gitlab.my-website.io/api/v4/packages/npm/ 

另一种方法是在私有实例中创建组端点,它将托管 + 代理指向公共包并更新您的注册表以指向该端点,以便私有和公共包都可以工作。

,

首次安装需要运行

npm config set @ajouve:registry=https://gitlab.my-website.io/api/v4/packages/npm/
,

你可以试试这个:

npm config set registry http://registry.npmjs.org

npm-registry

或者有时您只需要添加用户并登录即可使用私有包解决此问题。看看这个文档:npm-addUser

命令应该是这样的

npm adduser
npm login

大佬总结

以上是大佬教程为你收集整理的.npmrc 忽略私有包全部内容,希望文章能够帮你解决.npmrc 忽略私有包所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: