问题标签 [npm-private-modules]

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.

0 投票
14 回答
219824 浏览

node.js - 如何在没有我自己的注册表的情况下安装私有 NPM 模块?

我已经获取了一些共享代码并将其放入 NPM 模块中,我不想将其上传到中央注册表。问题是,我如何从其他项目安装它?

显而易见的方法可能是建立自己的 NPM 注册表,但根据文档,这涉及很多麻烦。

我可以只安装一个位于本地文件系统上的 NPM 模块,甚至可以从 git 安装吗?

0 投票
1 回答
1219 浏览

node.js - npm 私有模块错误

我有几个不在 npm 站点上的私有模块,我想在我的应用程序中使用它们,但是在 Elasticbeanstalk 上传时遇到了几个问题。(Elastic beanstalk 在每次上传后运行它的 npm install )。

  1. AWS 最初抱怨它在 NPM 上找不到这些私有模块,所以我从 package.json 文件中删除了它们的条目。

  2. 删除后,我再次使用包含这些包的 node_modules 文件夹上传了应用程序,然后 AWS 开始抱怨

    /li>

我想知道私有模块是如何工作的,所以我至少不必通过 NPM 进行部署,或者作为最后的手段,我会发布它们。

编辑

0 投票
5 回答
23694 浏览

node.js - docker build + 私有 NPM(+ 私有 docker hub)

我有一个在 Docker 容器中运行的应用程序。它需要来自公司私有 NPM 注册表(Sinopia)的一些私有模块,并且访问这些需要用户身份验证。Dockerfile 是FROM iojs:latest.

我努力了:

1)在项目根目录中创建一个 .npmrc 文件,这实际上没有区别,npm 似乎忽略了它 2)使用 env 变量NPM_CONFIG_REGISTRYNPM_CONFIG_USER,但用户没有登录。

本质上,我似乎无法在docker build流程中对用户进行身份验证。我希望有人可能已经遇到过这个问题(似乎是一个足够明显的问题)并且会有一个解决它的好方法。

(最重要的是,我在 Docker Hub 上使用自动构建(在推送时触发),以便我们的服务器可以使用预构建的图像访问私有 Docker 注册表。)

有没有好的方法:1)在构建时为 NPM 注入凭据(所以我不必向我的 Dockerfile 提交凭据)或 2)以另一种我没有想到的方式执行此操作?

0 投票
1 回答
235 浏览

node.js - NPM 私有模块:如何在 AWS Beanstalk 实例上安装我的私有模块?

NPM 私有模块看起来很棒,但我不确定如何在 AWS Beanstalk 实例上安装它们。

有没有这方面的文献发表?

此外,在默认的 Node.js 配置中,Beanstalk 使用 npm 版本 2.7.4。这会是一个问题吗?

0 投票
1 回答
23726 浏览

node.js - 使用令牌注册表将 NPM 全局配置到特定范围 (@organisation)

我想为要与特定令牌一起使用的特定范围全局设置 NPM 注册表。

我知道我可以使用:

我也可以写一个~/.npmrcwith :

但我想要的是两种方法的组合:在将注册表 URL 分配给我的范围时使用令牌。

我试过了 :

但是在运行 NPM 命令时(例如npm install @organisation/my-package)。我收到以下错误:

有解决办法吗?(我需要使用令牌并且没有环境变量)。

PS:https ://github.com/npm/npm/issues/7995#issuecomment-175915766但它不工作......

0 投票
2 回答
25373 浏览

node.js - 在 package.json 中定义私有注册表

我们有一个基于Sinopia的私有 npm 存储库

我应该如何定义package.json一些软件包将从 Synopia 而不是从全局 npm 存储库安装?

如果我从命令行安装它,我可以运行:npm install <package_name> --registry <http://<server:port>

PS 尝试谷歌并查看官方 NPM 文档,但一无所获。

0 投票
2 回答
108 浏览

angular - 无法为 pvt npm 模块安装子 npm 依赖项

我通过 sinopia 有一个 npm 私人回购我已经在此发布了一个应用程序。它是一个在 UI 端使用 Angular2 的完整的端到端应用程序。它有自己在 package.json 中提到的依赖项,例如 @angular/core、动画等。

当我安装这个 pvt 模块时,我收到一个错误,它无法安装子依赖项,即作为 pvt 模块一部分的依赖项。

错误截图:

在此处输入图像描述

0 投票
1 回答
97 浏览

node.js - 在 GIT 上安装私有 NPM 模块并进行更新?

我查看了这个答案,它向您展示了如何从私有 git(子)文件夹安装 npm 模块。当我这样做时,这对我来说是正确的: npm install git+ssh://git@github.com:myaccount/myprivate.git,然后我的主应用程序可以调用私有模块中的代码。

但是当有人更新该github.com:myaccount/myprivate.git位置的模块时,我希望我的主应用程序接收这些更新的更改。

我想做的是:

  • npm install在主应用程序上运行
  • 使用私有模块中的新代码对其进行更新
  • ...但是上面的内容不会随着私有模块中的新代码而更新

作为一种解决方法,我必须:

  • npm install git+ssh://git@github.com:myaccount/myprivate.git在主应用程序中运行
  • 私有模块中的新代码现在位于主应用程序中
  • ...但是我不想对每个调用私有模块的应用程序都这样做。例如,如果有 10 个应用程序正在调用我的一个模块,那么我需要手动更新很多地方
0 投票
1 回答
754 浏览

npm - 使用 git 存储库作为私有 NPM 注册表

想使用 git 存储库作为私有 npm 注册表来发布我自己的 npm 包。我已经尝试过publishConfigand npm config set registry <>。当我设置 npm 注册表npm config set registry <>并尝试使用它登录时,npm login会引发错误:

npm ERR! code E403 npm ERR! Registry returned 403 for PUT on https://github.com/<project>/-/user/org.couchdb.user:<username> npm ERR! A complete log of this run can be found in: npm ERR! *****-31T09_44_15_043Z-debug.log

0 投票
0 回答
450 浏览

azure-devops - 使用 Azure DevOps、package-lock.json 和私有 npm 注册表构建 React 应用程序

我们有一个通过 npm 在 Azure DevOps 上构建的 React 应用程序。目前我已经从我们的存储库中排除了我们的 package-lock.json,因为我们使用的一些包来自私有 npm 注册表,并且安装和构建都很好。然而,前几天最新版本的包破坏了我们的应用程序(它必然会发生)。当从 npm DevOps 任务运行 npm install 并且存在 package-lock.json 文件时,即使 package-lock.json 指向私有 npm 注册表,它也只会进入 npm 公共注册表。我不想锁定我的 package.json 文件,因为这就是 package-lock.json 的用途。如何让 Azure DevOps 构建使用 package-lock.json 并从私有 npm 注册表中检索包?我是否需要设置指向私有 npm 注册表的 Azure 工件?

更新:

以下是我在安装过程中收到的错误(存在 package-lock.json 时):

错误:404 未找到 - 在 C:\Program Files获取https://npm.sencha.com/@sencha%2fext-modern-treegrid/-/@sencha/ext-modern-treegrid-7.0.0.tgz详细堆栈\nodejs\node_modules\npm\node_modules\npm-registry-fetch\check-response.js:104:15 runMicrotasks () 详细堆栈在 processTicksAndRejections (internal/process/task_queues.js:97:5)

如果我在本地运行 npm install 可以正常工作。