问题标签 [npm-registry]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
npm - 为本地开发和 CI 设置私有 npm 注册表身份验证的最佳实践是什么?
我想知道是否有一个通用的最佳实践来为本地开发设置私有 npm 注册表身份验证,它也适用于 CI(反之亦然)。
这是我目前的理解:
对于本地开发:运行npm login
将创建一个访问令牌,创建一个~/.npmrc
文件,并将访问令牌写入该文件,如下所示:
在我的项目中,我有这个.npmrc
文件(旁边package.json
):
这似乎工作得很好。我可以安装我的私有包,因为 npm 似乎选择了注册表的用户级身份验证设置。
对于 CI: NPM 文档建议将以下内容添加到项目级别.npmrc
以在 CI 中注入身份验证:
不幸的是,这会覆盖我机器上的用户级配置。.npmrc
文件具有以下优先级(从高到低):项目级、用户级、全局、npm 内置。npm CLI 现在尝试使用 NPM_TOKEN 环境变量进行身份验证,除非我在本地计算机上显式导出它,否则这显然不起作用。
也许我错过了一些明显的东西。如果没有,我很好奇是否有任何常见的最佳实践来处理这个问题?当已经在用户级别配置访问令牌时,要求每个员工在他们的机器上导出访问令牌.npmrc
似乎不是一个很好的解决方案。
或者,可以根本不打扰用户级配置(或 npm 登录),直接在每个员工的本地计算机上将访问令牌导出为 NPM_TOKEN。但就像提到的那样,我发现这不是一个很好的解决方案。我想象一个标准解决方案(如用户级配置文件),每个员工都可以在其中设置公司的私人注册表。
reactjs - 尝试导入错误:'default' 没有从 '../assertThisInitialized/_index.mjs' 导出 - webpack 错误地将命名导入导入为默认值
出于某种奇怪的原因,Webpack 错误地尝试将命名导入作为默认导入。当我尝试在 docker 容器中构建我的项目时,我注意到了这个问题。我收到以下错误:
我还尝试直接在我的 Mac 上构建项目,并且最初构建成功。但是在删除我的node_modules
文件夹并npm install
重新运行后,我的项目停止编译。它开始抛出同样的错误:
我的 package.json 文件没有任何变化,我所有的包都有固定(精确)版本。我尝试更新 babel 及其所有插件,甚至尝试构建两周前成功构建的最后一个提交,但都无济于事。
如果完全没有任何改变,我仍然无法理解为什么我的项目将不再编译。npm 注册表有什么变化吗?
还有其他人遇到类似的问题吗?关于如何解决它的任何想法?
npm - 从 NPM 注册表 API 获取包依赖项
给定一个包名称和版本,我想找出它的依赖关系,最好使用 HTTP 请求。
npm - npm 错误!代码 E401 密码不正确或丢失。如果您尝试登录,请更改密码,创建身份验证令牌
在我的新 M1 Macbook Air 上试用之前,我在旧 MacBook 上试用过它,它可以在旧机器上无缝运行,就像魅力一样
包.json
我遵循的步骤
1.
npm 配置设置注册表“https://npm.pkg.github.com/ABC”
npm login --scope=@ABC --registry=https://npm.pkg.github.com
用户名:git用户名
密码:个人访问令牌
电子邮件:MyEmail@Organization.com
在https://npm.pkg.github.com/上以 gitusername 身份登录。
3.
npm install -g lerna typescript npm-check-updates
面对这个问题
PS:所有命令都适用于我的旧 MACBOOK AIR
我在这个问题上挣扎了很长时间,阅读了所有相关的答案,但并不清楚。
npm - GitLab 无法发布 npm 包
我在将我的 npm 包发布到项目 gitlab 注册表时遇到问题。
这是 gitlab-ci.yaml 脚本
运行管道,我收到以下错误
有什么帮助谢谢!
npm - 未找到纱线私有 gitlab 注册表 .tgz
我将一个 npm 包发布到我由 gitlab 提供的私有 npm 注册表。不,我尝试将包安装在另一个项目中。
身份验证是通过.npmrc
位于项目根目录中的。
我尝试通过纱线安装包。
该命令失败并出现此错误
我认为这不是身份验证的问题,因为第一个请求是成功的。剂量有人知道如何让它工作吗?
node.js - 从相同范围的注册表下载多个包
我们在注册表中发布了两个库:
- @development-group/app-utils
- @development-group/ui-library
我想将它们都下载到我们的应用程序中,该应用程序也存在于https://gitlab.com/development-group/app-name
. 如何使.npmrc
文件指向两个注册表?
我想要类似的东西:
但是这种方法的问题是第二次注册表设置会覆盖第一次。我该如何处理这种情况?任何指针将不胜感激!
docker - 在 docker 中验证 npm 私有注册表
我们将作用域 js 包发布到私有注册表(由我们使用 Verdaccio 管理)。
这意味着在我们的生产环境中,我们需要对我们的私有注册表进行身份验证才能使用yarn install
. 最简单的方法是什么?
azure-devops - 无法从 AppCenter 构建管道对 Azure DevOps Artifacts 源进行身份验证
我在 appcenter 上构建了一个 ReactNative iOS 应用程序,它无法访问 Azure DevOps Artifacts 上的 npm 提要。这是该项目的工件。我尝试了一切,但没有看到问题。
项目根 .npmrc
appcenter-post-clone.sh
在 npm install 阶段,这是输出
我正在使用以下机器配置运行管道
谢谢您的帮助
javascript - Fetching all private npm modules from an npmjs user
I'm working on a task to migrate all of our npm modules from npmjs.com. Problem is, all of our modules are stored under an npm user as private packages, and I can't find a way to consume all packages the user owns programmatically.
I found many examples that explain how to migrate a single package or a list of packages by name, but I've yet to understand how can I fetch every package a user owns to create that list.
There are a few modules that allow interacting with the NPM registry API, but I couldn't find out how to make them consume private scoped packages. I'm currently working with the npm-registry-fetch to try and get an example query working with no luck.
This is the code I'm trying to run -
This code results in this error -
HttpErrorGeneral: 404 Not Found - GET https://registry.npmjs.org/@<scope redacted>/<package name redacted> - Not found
How can I successfully query these type of packages?
Thanks.