相关疑难解决方法(0)

在 .npmrc 中使用身份验证令牌

我有一个项目,我们使用 font awesome 5 库。我按照此处编写的说明操作,并添加了一个.npmrc带有我的身份验证令牌的文件。

将其放入回购中是一种安全的行为吗?我希望开发人员可以访问它,但是如果 repo 公开,我们可能会暴露令牌。

在这种情况下,最佳做法是什么?

environment-variables npm font-awesome

29
推荐指数
2
解决办法
3万
查看次数

发布到 Nexus 上的私有 NPM 存储库时出现身份验证错误

发布到托管在我的私有 Nexus 上的私有 npm 注册表时,我遇到了身份验证问题。

我的 Nexus 设置是我有npm-proxynpm-registry(托管 npm with allowRepublish=false)、npm-snapshots(托管 npm with allowRepublish=true)和npm-public(与所有其他三个存储库分组)。

由于我正在开发一个库,我使用的是我的快照存储库,所以我可以不断地重新部署相同的版本(类似于 Maven 世界中的快照)。

在我的库项目中,我在package.json 中设置了这个选项

"publishConfig": {
    "registry": "https://my.nexus.com/repository/npm-snapshots/"
}
Run Code Online (Sandbox Code Playgroud)

接下来,我创建了包含以下内容的.npmrc文件:

registry=https://my.nexus.com/repository/npm-public/
_auth=RVhBTVBMRQ==
Run Code Online (Sandbox Code Playgroud)

有了这个设置,我可以毫无问题地发布项目。但是,让我烦恼的是,我的密码(只是 base64 编码)存储在文件中,应该提交,但由于其中的凭据,我无法提交。

我试图改为登录 npm 注册表并从 .npmrc 中删除了 auth 行 npm adduser --registry=https://my.nexus.com/repository/npm-snapshots --always-auth

我得到了回应 Logged in as myusername on https://my.nexus.com/repository/npm-snapshots.

但是,当我尝试运行时,npm publish我得到:

npm ERR! code E401
npm ERR! Unable to authenticate, need: BASIC realm="Sonatype Nexus Repository …
Run Code Online (Sandbox Code Playgroud)

nexus node.js npm

29
推荐指数
4
解决办法
6万
查看次数

npm adduser via bash

我想通过bash脚本自动执行npm登录过程.

我尝试使用此代码段:

/usr/bin/expect -f - <<EOD
spawn npm adduser
expect "Username:"
send "myUserName\n"
expect "mail: (this IS public)"
send "my@email.com\n"
EOD
Run Code Online (Sandbox Code Playgroud)

但没有运气.

注意:我将使用env变量更改字符串

bash command-line npm

20
推荐指数
3
解决办法
1万
查看次数

向 npm login 命令行提供凭据

我需要npm login在脚本中传递凭据有没有办法提供类似于 git 凭据的凭据?

git clone https://username:password@github.com
Run Code Online (Sandbox Code Playgroud)

shell terminal command-line npm npm-login

17
推荐指数
2
解决办法
3万
查看次数

使用 Yarn 从 Github 包注册表安装私有包失败,未授权

这个问题与这些有关。但是没有一个解决方案对我有用。

我可以安装一个没有问题的包,npm install @scope/package但是我不能用纱线做同样的事情:yarn add @scope/package

纱线抛出以下错误: An unexpected error occurred: "https://npm.pkg.github.com/download/@scope/package/1.2.8/089b08cffb16074c210ec3a59b04de268ae1c7b3a0492dce110adee3ada05bdd: Request failed \"401 Unauthorized\"".

我的 .npmrc 文件看起来像这样:(在 .yarnrc 下尝试和不使用)

registry=https://registry.npmjs.org/
//npm.pkg.github.com/:_authToken=MY_AUTHTOKEN
@scope:registry=https://npm.pkg.github.com/
Run Code Online (Sandbox Code Playgroud)

我试过添加这个 .yarnrc 文件:

registry "https://registry.npmjs.org"
"@scope:registry" "https://npm.pkg.github.com"
Run Code Online (Sandbox Code Playgroud)

(没有 .yarnrc)我试过这个 .npmrc 文件

registry=https://registry.yarnpkg.com/

@scope:registry=https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=MY_AUTHTOKEN
always-auth=true
Run Code Online (Sandbox Code Playgroud)

MY_AUTHTOKENPersonal Access Token从 Github 生成的我在哪里。(它可以访问包中的所有内容)

我试图:

  • 删除 yarn.lock
  • 删除 .yarnrc
  • 与登录npm login使用我的PAT作为密码
  • 注销 npm 并删除全局 .npmrc 和 .yarnrc
  • 登录 yarn login

万一出现任何混淆,我实际上并不是在尝试 @scope 和 /package,而是在尝试我的实际作用域和包名称。 …

registry yarnpkg npm-registry github-package-registry

14
推荐指数
1
解决办法
5546
查看次数

我应该如何使用人工访问令牌访问npm回购

我想使用访问令牌从CI环境中发布和从人工npm回购中检索。我已经使用工件API创建了Bearer令牌,但是当我尝试将其用于.npmrc格式的访问时:

//mydomain.jrog.io/:_authToken=myveryverylongaccesstoken
registry=https://mydomain.jfrog.io/mydomain/api/npm/npm
Run Code Online (Sandbox Code Playgroud)

我总是收到401错误。

另外,尽管可能是一个不同的问题,但是如果我尝试使用具有实际工件凭证的npm login,则会得到响应:

adduser Incorrect username or password
npm WARN adduser You can reset your account by visiting:
npm WARN adduser 
npm WARN adduser     https://npmjs.org/forgot
npm WARN adduser 
npm ERR! code E403
npm ERR! forbidden No oauth npm default login configuration found: org.couchdb.user:myusername
Run Code Online (Sandbox Code Playgroud)

围绕访问令牌的人工文档明确表示这是设置访问令牌的一种用例,但是围绕npm repo alwyas设置的文档似乎暗示您需要一个真实的用户帐户,而没有提及访问令牌。 。

artifactory access-token npm

6
推荐指数
2
解决办法
6663
查看次数