是否有一种方法可以强制NPM从Intranet位置安装所有依赖关系



让我们假设我的Intranet中有一个目录,其中包含一个Node_modules文件夹,其中包含所有依赖项,我需要Web项目才能工作。据我所知,我可以输入类似的内容(在项目的根文件夹中的终端中(:

npm i "\RepoCompReponode_modulesbootstrap"

因此,它将将bootstrap软件包安装到我的项目中。这很好,但是我不想安装我的package.json中列出的所有软件包,我想仅输入:

npm i <path-to-intranet-repo>

我希望NPM从此Intranet位置收集所有依赖关系。我该如何实现?

ps:实际上,我尝试实现的目标 - 将所有依赖项放在Intranet位置中的远程文件夹,因此我团队中的所有开发人员都可以从那里访问所需的包装,而无需Internet Connection。是否可以?但是,正如我从NPM-debug.log中发现的那样,它尝试连接到Registry.npmjs.org,同时尝试通过npm --prefix "\RepoCompReponode_modules" install命令安装软件包。

npmyarn的切换,并使用它的离线mirror功能。请参阅运行纱线离线

您可以将npm install <folder>变体与--prefix选项一起使用。

npm --prefix ./path-to-intranet install

参考:

  • 前缀
  • 安装文件夹变体
  • 更多信息

您也可以尝试:

(cd intranet-location && npm install)

我不确定您正在使用哪个平台。

,但是假设您正在某些Linux虚拟机(例如腻子或其他(工作。我认为您只需要导出使用此node_modules的正确NPM路径的路径。

$bash
$export PATH=/path/to/the/dir:$PATH

对于周围的其他情况,请使用"前缀"配置默认值为安装节点的位置。在大多数系统上,这是/usr/local。在Windows上,这是node.exe二进制的确切位置。

有关更多指导:请参阅此DOC

最新更新