有没有办法强制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二进制文件的确切位置。
有关更多指导: 请参阅此文档