如何在没有互联网连接的系统中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棒拷贝文件。
以下是一些可能有助于解决问题的提示。
- 如果该框处于脱机状态,请在本地计算机上开发并部署到该框
- 如果可能的话,在你的本地机器上进行吞咽的步骤
-
否则,你需要运行gulp的本地目录安装。 例如
node node_modules\gulp\bin\gulp.js build
因为你将无法
npm install -g gulp
-
第3点也会为其他全局的npm_modules工作
-
如果您面对长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更平坦的层次结构。 需要删除并重新安装所有软件包。
- 尝试使用
-
第5点是Windows上的一个臭名昭着的问题,这不是Linux上的问题,因为path可能非常长。 (除非你从linux上挂载一个windows目录)
就我个人而言,我会直接去找最新的npm版本,但如果这不可能的话,你有很多方法来解决这个问题。