我正在处理一个将部署在VM(Windows操作系统(上的项目,但我无法下载依赖项,因为所有npm端口都被阻止并且无法打开它们。 因此,解决此问题的唯一方法是压缩所有本地依赖项,然后将它们复制到 VM。这很简单,但我使用两个全局依赖项:PM2和pm2-windows-service。
我的问题是如何将这两个依赖项复制到 VM,然后使它们全局化?
您可以在本地安装全局依赖项并从node_modules路径使用它们,例如:
node node_modules/.bin/pm2 start app.js
而不是
pm2 start app.js
实际上,我倾向于建议使用最少量的全局依赖项,即仅 npm
从 npm 安装:
npm install -g <tarball file>
和:
包是:
a) a folder containing a program described by a package.json file b) a gzipped tarball containing (a) ...
还有:
npm install <tarball file>
:安装文件系统上的软件包。注意:如果你只是 想要将开发目录链接到您的 npm 根目录,您可以这样做更多 通过使用 npm 链接轻松。
压缩包要求:
- 文件名必须使用 .tar、.tar.gz 或 .tgz 作为扩展名。
包- 内容应位于压缩包内的子文件夹中(通常称为包/(。 npm 剥离一个目录 安装软件包时的层(相当于 tar x --条带组件=1 运行(。
- 包必须包含具有名称和版本属性的 package.json 文件。
例:
npm install ./package.tgz
因此,只需复制两个(打包的(包并在 VM 中运行上述命令,如npm i -g /pm2.tar
.