如何在没有互联网的机器上安装nodejs项目?

我一直在我的笔记本电脑上开发我的nodejs项目。 我在本地安装了我的项目的所有依赖项。 现在我想将我的项目转移到离线机器。

离线机器预先安装了nodejs环境。 我试图将该项目复制到该机器,但它没有工作! 我已经安装的模块无法正常工作

例如:我在我的项目中安装了gulp模块。 当我运行gulp命令时,它不被识别。

请帮忙吗?

在连接到互联网的机器上,看看是否有一个环境variables叫做:

 NODE_PATH 

linux / OSX / Windows都具有envvariables的概念。 如果定义了NODE_PATH,它通常具有类似的值

 echo $NODE_PATH /home/stens/node-v5.0.0/lib/node_modules 

包括npm和所有全局安装模块的所有节点都从父目录挂起:

 /home/stens/node-v5.0.0 # parent directory 

在同一台连接互联网的机器上,如果你globally安装所有的npm模块,你将在离线状态下使用,然后将上面的整个父目录压缩或压缩到一个单独的文件中,然后再复制到离线机器上,然后展开并定义自己的envvariablesNODE_PATH和改变的PATH它将工作。 以下是您如何在互联网连接盒上全局安装npm模块

 npm install xxxx -g 

其中xxxx是模块名称

此外,您需要在离线机器上将env var PATH抬起,以便findnpm和node等可执行文件的位置。 以下环境variables设置可用于将整个节点基础架构从脱机机器上的$ {HOME} / node-v5.0.0目录中挂起

 export NODE_PARENT=${HOME}/node-v5.0.0 # <-- starting point dir use whatever export PATH=${NODE_PARENT}/bin:${PATH} # <-- path to executables export NODE_PATH=${NODE_PARENT}/lib/node_modules 

关于全局安装npm模块的好处是,它们可以在任何项目中使用,而不必将它们本地安装到任何节点项目中

PS – 你在什么操作系统?

这是我的NODE_PARENT目录的内容

 cd ${NODE_PARENT} ~/node-v5.0.0 ls -la ~/node-v5.0.0 drwxrwxr-x 7 stens stens 4096 Nov 2 15:45 . drwxr-xr-x 80 stens stens 4096 Nov 3 11:28 .. drwxrwxr-x 2 stens stens 4096 Nov 2 15:46 bin drwxrwxr-x 2 stens stens 4096 Nov 2 15:45 etc drwxrwxr-x 3 stens stens 4096 Nov 2 15:37 include drwxrwxr-x 3 stens stens 4096 Nov 2 15:37 lib drwxrwxr-x 5 stens stens 4096 Nov 2 15:37 share 

挂在它的lib目录下面是

 ~/node-v5.0.0/lib/node_modules/ # <-- this dir contains all npm modules 
Interesting Posts