如何在没有Internet连接的系统中管理npm安装

时间:2015-11-11 19:57:03

标签: node.js msbuild-4.0

我在一个没有互联网连接的系统(对于Windows)中为我的项目的所有客户端组件创建包时面临挑战。

我已经在系统中为Windows安装了NPM。我需要管理node_modules并在系统中运行gulp命令来创建包。

由于框中没有互联网连接,我决定将node_modules从我的本地框复制到没有互联网连接的框。

对于复制任务,我使用的是msbuild脚本但不知何故它对我不起作用。此外,我发现当我尝试将node_modules手册从一个文件夹复制到另一个文件夹时,我无法复制。

已安装的节点版本:v0.12.2 NPM版本:2.7.4

任何人都可以帮我提供任何工作样本来解决上述问题。

1 个答案:

答案 0 :(得分:2)

我认为你的方法通常是合理的。你可以建立在互联网上连接电脑没问题!如果您愿意,可以使用usb棒复制文件。

以下是一些可能有助于解决问题的提示。

  1. 如果该框处于离线状态,请在本地计算机上进行开发并部署到框中
  2. 如果可能,也可以在本地计算机上执行gulp步骤
  3. 否则你需要运行gulp的本地目录安装。 e.g。

    node node_modules\gulp\bin\gulp.js build
    

    因为您无法npm install -g gulp

  4. 第3点也适用于其他全球npm_modules btw

  5. 如果您遇到长路径(> 256个字符),可能会导致复制问题

    • 尝试使用npm dedupe删除重复项
    • 尝试复制到较短的路径,例如c:\proj而不是c:\very\long\path\proj
    • 明确安装具有长路径的依赖项

      e.g npm install deepdep@1.2.4

      然后从原始

      修剪该文件夹

      rm node_modules\package\node_modules\package_with_too_many_nested_folders

    • 安装最新的npm(v3.0或更高版本),一劳永逸地解决此问题

      e.g。 npm install -g npm

      将为您的包构建更平坦的层次结构。需要删除并重新安装所有软件包。

  6. 第5点是Windows上一个臭名昭着的问题,这在Linux上不是问题,因为路径可能非常长。 (除非你从Linux安装windows目录)

  7. 就我个人而言,我会直接寻找最新的npm版本,但是如果不可能的话,你有很多方法可以解决这个问题。