有没有办法强制npm安装从Intranet位置的所有依赖项

假设我的内部网中有一个目录,其中包含一个node_modules文件夹,其中包含所有依赖关系,这是我的Web项目工作所需要的。 据我所知,我可以input类似的东西(在我的项目的根文件夹在terminal):

npm i "\\RepoComp\Repo\node_modules\bootstrap" 

所以,它会将bootstrap包安装到我的项目中。 这是相当不错的,但我不想安装我的package.json手动列出的所有包,我只想input:

 npm i <path-to-intranet-repo> 

我期望npm从这个内联网位置收集所有的依赖关系。 我怎样才能做到这一点?

PS:其实,我试图实现的是将所有的依赖关系放在内部networking的远程文件夹中,所以我的团队中的所有开发人员都可以从那里访问所需的软件包,而无需连接互联网。 可能吗? 但是,正如我从npm-debug.log中发现的,它试图连接到registry.npmjs.org,同时试图通过npm --prefix "\\RepoComp\Repo\node_modules\" install命令来安装软件包。

npm切换到yarn并使用它的离线镜像function。 请参阅脱机运行纱线

您可以使用带有--prefix选项的npm install <folder>变体。

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

参考文献:

  • 字首
  • 安装文件夹变体
  • 一些更多的信息

你也可以尝试:

(cd intranet-location && npm install)

我不确定你在哪个平台工作。

但是,假设你正在一些LINUX虚拟机(如腻子或其他)工作。 我想你只需要导出使用这个node_modules的正确npmpath的path。

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

对于其他情况,使用“prefix”config默认值来安装节点。 在大多数系统上,这是/ usr / local。 在Windows上,这是node.exe二进制文件的确切位置。

有关更多指导: 请参阅此文档