我一直在我的笔记本电脑上开发我的nodejs项目。我在本地安装了我的项目的所有依赖项。现在我想将我的项目转移到离线机器中。如何在没有互联网的机器上安装nodejs项目?
离线机器预先安装了nodejs环境。我试图将该项目复制到该机器,但它不起作用! 我已安装的模块不能正常工作
例如:我在我的项目中安装了gulp模块。当我运行gulp命令时,它不被识别。
请帮忙吗?
我一直在我的笔记本电脑上开发我的nodejs项目。我在本地安装了我的项目的所有依赖项。现在我想将我的项目转移到离线机器中。如何在没有互联网的机器上安装nodejs项目?
离线机器预先安装了nodejs环境。我试图将该项目复制到该机器,但它不起作用! 我已安装的模块不能正常工作
例如:我在我的项目中安装了gulp模块。当我运行gulp命令时,它不被识别。
请帮忙吗?
在连接到互联网的机器看是否有一个叫做环境变量:
NODE_PATH
的Linux/OSX/Windows中的所有已ENV变量的概念。如果NODE_PATH定义,它通常有一个像
echo $NODE_PATH
/home/stens/node-v5.0.0/lib/node_modules
节点的所有的值,包括故宫和所有全球安装的模块住在离父目录挂:
/home/stens/node-v5.0.0 # parent directory
就在同互联网连接的机器,如果你安装globally
所有npm模块,您将在后面使用脱机,然后将上面的整个父目录压缩或压缩到单个文件中,然后将其复制到脱机机器,然后展开并定义自己的env var NODE_PATH和更改的PATH,它将起作用。这里是你如何在全球范围的互联网连接盒
npm install xxxx -g
其中xxxx是模块名称
此外,您将需要抬高的环境变量PATH离线机器上,因此它可以找到上安装NPM模块可执行文件的位置,如npm和节点。下面的环境变量设置工作,把整个节点基础设施到离线机器
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
美丽的东西从目录$ {HOME} /node-v5.0.0挂了约全球范围内安装的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
如果只是复制一切,可执行文件将不会在您的PATH。您可以手动运行它们:'node。/ node_modules/.bin/gulp'或使用npm脚本。 –
谢谢,但我是nodejs的新手。你是什么意思通过npm脚本 – chang