在npm登录travis之后没有api密钥

时间:2014-12-14 09:10:26

标签: node.js npm travis-ci

根据:http://docs.travis-ci.com/user/deployment/npm/ 你应该在npm login之后看到一个api密钥。但在我执行npm login(或npm adduser)和cat .npmrc之后,api密钥没有任何内容。

有谁知道我在这里做错了什么?

2 个答案:

答案 0 :(得分:9)

似乎npm“api key”只不过是你的npm用户名和密码,除以冒号和base64编码。

所以你可以echo -n "username:password" | base64或使用像https://www.base64encode.org/这样的东西。

不要忘记在该密钥上使用travis encrypt。生成npm部署的最简单方法是使用travis setup npm,按照对话框粘贴生成的base64密钥。

npm注册表最近已从使用基于密码的凭据切换到使用会话令牌。

npm adduser / npm login之后,您的~/.npmrc应该有这样的条目:

registry.npmjs.org/:_authToken=THIS-IS-YOUR-API-KEY

您可以在travis setup npm期间粘贴此密钥或直接设置值:

travis encrypt --add deploy.api_key YOUR_API_KEY_HERE

答案 1 :(得分:1)

更好的是,您可以使用:

,而不是手动加密您的API密钥(并可能将其复制到您的shell历史记录中(这有安全隐患))。
travis setup npm

这会问你各种问题,比如你的电子邮件,你的api密钥(你可以粘贴在这里;它会被改为' ****'),以及其他有用的问题,比如你想要只发布标记的提交等。

您可以在.npmrc文件中找到您的api密钥,如@simbo所述。