使用 npm 如何将包下载为 zip,包中包含所有依赖项
Using npm how can I download a package as a zip with all of its dependencies included in the package
我想做的是下载包及其所有依赖项,以便将它们传输到另一台没有互联网连接的计算机并在那里安装。
所以场景是:
下载包(到 zip/tarball/whatever 文件)而不安装。
包含在该下载文件中的是它的所有依赖项(正确的版本,以及它的依赖项的依赖项)。
将文件传输到其他计算机。
运行 npm install
到文件位置(可选 -g
重要)。
安装了依赖包。
快乐的露营者。
我觉得必须有一个 npm 命令才能以这种方式下载和打包(创建)文件。
我试过为此寻找解决方案,但无济于事。
这是我第一次使用节点,所以我担心我没有正确研究它,因为缺乏 node/npm 行话的知识。
只需 运行 npm install
在包目录中并将其全部存档。
假设您不需要满足任何非 npm 要求,并且两台机器都运行使用相同版本的节点,则无需执行更多操作。所有下载的依赖项都将安装在 ./node_modules
中。但归档整个包通常是个好主意,因为开发人员可能已经实施了一些额外的设置例程。
将软件包下载到有互联网的机器上。
确保您的应用程序包在其根目录下有一个 package.json
文件,其中列出了您的所有依赖项。您可以通过执行 npm install dependency-name --save
让 npm 将您的依赖项保存在 package.json
中。 --save
标志将导致 npm 将依赖项写入应用程序的 package.json
文件(如果有的话)。如果它没有,那么它将什么都不做。如果需要,您还可以指示 npm 为您的应用程序创建一个 package.json
文件,只需从您的应用程序目录中 运行ning npm init
即可。
运行 npm install
从应用程序目录中。这将创建 node_modules
目录并安装应用的 package.json
文件中列出的所有依赖项。
压缩目录,现在它有一个 node_modules
目录,其中安装了所有依赖项。将 zip 存档传输到另一台机器。
只需将存档解压缩到其最终目的地即可。该应用程序现在位于它需要的位置并且已经安装了依赖项。
现在只需 运行 带有 node app.js
的应用程序,将 "app.js" 替换为应用程序主入口点文件的任何名称。
我只是使用 this gist by Jack Gill 来完全按照您的描述进行操作 -- 捆绑一个包,与 它的所有依赖项。脚本所做的基本上是重写模块的 package.json
文件以将其所有 dependencies
移动到 bundleDependencies
,然后打包整个文件。将生成的 tarball 上传到您的服务器,然后 npm install
它。效果不错。
您可以使用单个命令下载包及其所有依赖项及其依赖项。请参考此 link npm-package-downloader
我想做的是下载包及其所有依赖项,以便将它们传输到另一台没有互联网连接的计算机并在那里安装。
所以场景是:
下载包(到 zip/tarball/whatever 文件)而不安装。
包含在该下载文件中的是它的所有依赖项(正确的版本,以及它的依赖项的依赖项)。
将文件传输到其他计算机。
运行
npm install
到文件位置(可选-g
重要)。安装了依赖包。
快乐的露营者。
我觉得必须有一个 npm 命令才能以这种方式下载和打包(创建)文件。
我试过为此寻找解决方案,但无济于事。
这是我第一次使用节点,所以我担心我没有正确研究它,因为缺乏 node/npm 行话的知识。
只需 运行 npm install
在包目录中并将其全部存档。
假设您不需要满足任何非 npm 要求,并且两台机器都运行使用相同版本的节点,则无需执行更多操作。所有下载的依赖项都将安装在 ./node_modules
中。但归档整个包通常是个好主意,因为开发人员可能已经实施了一些额外的设置例程。
将软件包下载到有互联网的机器上。
确保您的应用程序包在其根目录下有一个
package.json
文件,其中列出了您的所有依赖项。您可以通过执行npm install dependency-name --save
让 npm 将您的依赖项保存在package.json
中。--save
标志将导致 npm 将依赖项写入应用程序的package.json
文件(如果有的话)。如果它没有,那么它将什么都不做。如果需要,您还可以指示 npm 为您的应用程序创建一个package.json
文件,只需从您的应用程序目录中 运行ningnpm init
即可。运行
npm install
从应用程序目录中。这将创建node_modules
目录并安装应用的package.json
文件中列出的所有依赖项。压缩目录,现在它有一个
node_modules
目录,其中安装了所有依赖项。将 zip 存档传输到另一台机器。只需将存档解压缩到其最终目的地即可。该应用程序现在位于它需要的位置并且已经安装了依赖项。
现在只需 运行 带有
node app.js
的应用程序,将 "app.js" 替换为应用程序主入口点文件的任何名称。
我只是使用 this gist by Jack Gill 来完全按照您的描述进行操作 -- 捆绑一个包,与 它的所有依赖项。脚本所做的基本上是重写模块的 package.json
文件以将其所有 dependencies
移动到 bundleDependencies
,然后打包整个文件。将生成的 tarball 上传到您的服务器,然后 npm install
它。效果不错。
您可以使用单个命令下载包及其所有依赖项及其依赖项。请参考此 link npm-package-downloader