如何在没有互联网连接的系统中pipe理npm安装

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

我已经在系统中安装了Windows的NPM。 我需要pipe理node_modules并在系统中运行node_modules命令来创build包。

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

对于复制任务,我使用msbuild脚本,但不知何故,它不适合我。 此外,我看到,当我试图将node_modules手册从一个文件夹复制到另一个文件夹,我无法复制。

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

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

我认为你的做法通常是合理的。 你可以build立在互联网连接的电脑没有问题! 如果你喜欢,用USB棒拷贝文件。

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

  1. 如果该框处于脱机状态,请在本地计算机上开发并部署到该框
  2. 如果可能的话,在你的本地机器上进行吞咽的步骤
  3. 否则,你需要运行gulp的本地目录安装。 例如

     node node_modules\gulp\bin\gulp.js build 

    因为你将无法npm install -g gulp

  4. 第3点也会为其他全局的npm_modules工作

  5. 如果您面对长path(> 256个字符) ,可能会导致复制问题

    • 尝试使用npm dedupe删除重复
    • 或者尝试复制到一个较短的path,如c:\proj而不是c:\very\long\path\proj
    • 或者显式安装一个长path的依赖项

      例如npm install deepdep@1.2.4

      然后修剪原来的文件夹

      rm node_modules\package\node_modules\package_with_too_many_nested_folders

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

      例如npm install -g npm

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

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

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

Interesting Posts