【发布时间】:2020-03-11 21:48:57
【问题描述】:
我遇到了一个不知道如何以最佳方式解决的问题。这里是:
我们最近开始使用私有 NPM 包,并试图弄清楚如何将我们的本地开发循环与 CI 和部署管道联系起来。
我已经查看并开始利用 NPM_TOKEN 变量。 在 CI 中,我们正在执行以下操作:
echo "//registry.yarnpkg.com/:_authToken=$NPM_TOKEN" >> ~/.npmrc
这很好用,但是在 Heroku 上部署期间,我们无法访问主页。所以为了让它在 Heroku 上工作,我们在项目目录中添加了一个 .npmrc 文件。这很有效,因为 npm 使用环境变量来填充它。
问题在于,在本地,所有 yarn 命令都因缺少变量而失败。 NPM 网站 (https://blog.npmjs.org/post/118393368555/deploying-with-npm-private-modules) 上的建议方法是将令牌添加到 .profile 中的环境中。这似乎不是最好的解决方案,因为该设置现在是全局的,并且应该保留在每个存储库中。
我在这里发现了一个使用 npm 的类似问题,但它似乎不适用于 yarn。 Using auth tokens in .npmrc 那里的评论还提到它不适用于 npm,并且没有提到 dotenv 文件的文档。
有没有更好的方法来解决这个问题?似乎是一个很久以前就应该解决的常见问题......
【问题讨论】:
-
你用的是哪个版本的纱线
标签: node.js authentication npm yarnpkg