如何在本地设置多个NPM用户?

2024-01-21

我使用两个 NPM 帐户:公共帐户和私人帐户。我该如何设置才能不需要npm login每次我在不同的帐户上发布模块时?

UPD:寻找 NPM 内置解决方案,因此没有 shell 脚本等


这就是我使用 4 个不同的 NPM 登录解决该问题的方法。

  1. 在每个项目的.gitignore (and .npmignore对于 NPM 模块)添加此行:.npmrc。这将确保您永远不会提交(或发布).npmrc file.
  2. 在每个项目的文件夹中创建.npmrc包含此内容的文件://registry.npmjs.org/:_authToken=11111111-1111-1111-1111-111111111111(将 GUID 替换为实际的 NPM 身份验证令牌,例如,您可以从~/.npmrc)

The npmCLI 将在您当前的文件夹中查找.npmrc文件(或任何parent文件夹)并将其用于身份验证。

结果都是npm命令按原样工作,无需传递--userconfig或任何东西。


除了以上内容之外,您还可以拥有default您的计算机/笔记本电脑上的 NPM 令牌。

  1. 确保.npmrc不存在于.gitignore(这对于大多数项目来说很常见)。
  2. 创建.npmrc文件位于项目的根文件夹中。把这个放进去://registry.npmjs.org/:_authToken=${NPM_TOKEN}。这将使npm to use NPM_TOKEN环境。变种和npm如果这样的环境将中止。变种没有找到。
  3. 提交并推送该文件。 (是的。说真的。)
  4. 确保您的外壳具有NPM_TOKEN环境变量设置。例如。NPM_TOKEN=11111111-1111-1111-1111-111111111111。我有它在我的~/.bash_profile.

提交此文件的所有项目都将使用您的环境变量NPM_TOKEN对于 npm 授权。

结果,所有 npm 命令都按原样工作,无需通过--userconfig或任何东西。

这对于 CI(持续集成)来说足够好并且足够安全。所有 CI 都允许您设置环境变量。使用这种方法,您可以通过简单的环境更改 NPM 用户。变种改变。


Pro Tip

Type npm whoami命令检查文件夹中当前正在使用哪个令牌。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在本地设置多个NPM用户? 的相关文章

  • socket.io - ReferenceError:套接字未定义

    我正在尝试编写一个简单的应用程序 它将我在文本区域中输入的每个字符镜像到 div 使用socket io 但我不断收到以下客户端错误 ReferenceError 套接字未定义 这是我的服务器代码 var express require e
  • 安装时反应 spring 错误

    你好 我有这个问题 如果我想将react spring安装到我的react项目中 它只会弹出一堆依赖项错误和警告 我不知道该怎么办 我试图检查react spring的文档 但找不到任何东西 我在 stackoverflow 上检查了几页
  • Android 上的 React Native:无法运行程序“node”:错误=2,没有这样的文件或目录

    编辑 我不确定我采取了哪些步骤来解决此问题 并且不再看到此错误消息 因此我无法测试下面的解决方案 请单独尝试 因为不同的答案似乎适用于不同的人 iOS 版本工作正常 但在我的 Mac 上运行 Android Studio 时出现以下 Gra
  • 接近堆限制的无效标记压缩分配 Angular 8 - JavaScript 堆内存不足

    42 构建 274 275 模块 1 个活动模块 src index js 提取 D Clients app node modules sass loader lib loader js ref 15 3 D src styles scss
  • Puppeteer 错误 错误:等待选择器超时

    目前我有一个网站 其 HTML 中有此内容 我通过检查chrome开发者工具中的元素确认了这一点 div class hdp photo carousel div class photo tile photo tile large 我直观地
  • Socket.io 最佳编码实践

    我正在开发一个 Node js 应用程序 它使用 Socket io 来处理实时通信 我的代码充满了 On 和 Emit 函数 我也使用房间功能 我的应用程序如下所示 var server require http Server var i
  • 如何正确配置meteor以与节点文件上传模块“multer”一起使用

    我刚从流星开始 我找到并添加了 multer 包 meteor add pfafman multer 现在 我想知道如何配置meteor的服务器端来使用 在我的普通节点应用程序中 我像这样使用它 app use multer dest up
  • 在 firebase 函数中设置 dotenv

    我正在尝试将我制作的小型节点表达应用程序移动到 firebase 函数中 该文件有dotenv变量 早些时候我想如果我只是部署并依赖 dotenv 它会起作用 但那并没有发生 于是 我去了firebase的环境配置文章了解如何设置 env
  • Node.js - 将数据缓冲到 Ffmpeg

    我使用 Node js 和 Ffmpeg 来创建动画 因为我试图避免第三方 avi mp4 解析器 所以我决定将动画输出为原始 rgb24 数据文件 然后使用一些程序将其转换为 mp4 文件 我发现 Ffmpeg 是免费且开源的 它完全可以
  • 快速解析 req.body 中的 multipart/form-data post

    我正在尝试使用 Chrome 和 Firefox 浏览器上的 jQuery Ajax FormData 对象上传文件 我用来执行此操作的代码如下 var formData new FormData formData append image
  • 获取块上的 execFile stdOut

    我正在尝试使用 execFile 并记录提供任务完成百分比的 stdOut 但回调函数 var child require child process child execFile path to the file options func
  • 使用主管在调试中运行 Node.js 应用程序

    我在用导师 https www npmjs com package supervisor自动重新加载我的node js 例如 supervisor w app js 但是我不知道如何让主管在调试中运行node js 进程 例如相当于 nod
  • 运行 mocha 排除路径

    我有这个 在 gulpfile js 中 var gulp require gulp var mocha require gulp mocha gulp task test function gulp src test js node mo
  • 使用 Node.js 捕获延迟加载页面的屏幕截图

    我正在寻找一种方法 可以在每次更改时对长网页进行屏幕截图 我想为此使用 Node js 我的问题是关于如何渲染带有图像的完整页面并将其保存到磁盘和图像文件 网页上的大多数图像都是延迟加载的 所以我想我需要先向下滚动整个页面 然后再进行屏幕截
  • 最小工作聚合物示例

    我一直在尝试使用 Polymer 获得一个极其简单的网页 以便在浏览器中简单地呈现 我在服务器端使用 Node ExpressJS Jade 设置 我的代码与 Polymer 文档附带的示例非常接近 我认为我缺少一些非常简单的东西 我正在使
  • 在 Javascript 中缓存和预取过期的 Promise

    Promise 是我在 Javascript 中管理异步代码的首选方式 Memoize npm 上的 memoizee 是一个 Javascript 库 用于轻松缓存和预取函数结果 理想情况下 我想结合两者的优点 并且能够使 Promise
  • 在 Node js 应用程序中加载backbone.js

    我正在使用node js 和backbone 来构建网络应用程序 Backbone 是我的软件包要求的一部分 我之前使用过 Rails 和 Backbone 辅助 gem 非常适合将需要到达客户端的所有资产 js 文件 拼凑在一起 话虽如此
  • Electron 包 - 如何写入/读取文件

    我有文件test txt在我的应用程序根目录中 当我使用命令运行我的应用程序时npm start 我可以毫无问题地写入我的文件 但是当我使用电子打包器制作包时 不再可能将文本写入我的文件 我收到错误 Error EACCES permiss
  • 如何获取 Node 工作队列中的回调列表? (或者,为什么 Node 不退出?)

    它说在Node js 关于页面 http nodejs org about 当没有更多回调要执行时 节点退出事件循环 有没有办法找出哪些回调阻止 Node 退出 您可以使用process getActiveHandles and proce
  • 在无服务器的 Express 应用程序中使用 swagger 多次重定向到 swagger 端点

    我正在使用express serverless制作一个应用程序 我想在离线开发期间使用swagger jsdoc和swagger ui express 这是我的 swagger 配置 const express require server

随机推荐