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

时间:2017-05-02 07:55:16

标签: node.js npm

假设我的Intranet中有一个目录,其中包含一个node_modules文件夹,其中包含我所需的Web项目所需的所有依赖项。据我所知,我可以输入类似的东西(在我项目的根目录下的终端文件夹中):

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

因此,它会将bootstrap包安装到我的项目中。它非常好,但我不想手动安装我的package.json中列出的所有软件包,我只想输入:

npm i <path-to-intranet-repo>

我希望npm从这个Intranet位置收集所有依赖项。我怎样才能做到这一点?

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

2 个答案:

答案 0 :(得分:1)

npm切换到yarn并使用它的离线镜像功能。见Running Yarn offline

答案 1 :(得分:0)

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

但假设您正在使用某些LINUX虚拟机(如putty或其他东西)。我想你只需要导出使用这个node_modules的正确npm路径的路径。

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

对于其他情况,请使用&#39;前缀&#39; config默认为安装节点的位置。在大多数系统上,这是/ usr / local。在Windows上,这是node.exe二进制文件的确切位置。

获取更多指导:refer to this doc