我正在开发一个将部署在VM(Windows OS)上的项目,但是我无法下载依赖项,因为所有npm端口都被阻止了,无法打开它们。 因此,解决此问题的唯一方法是压缩所有本地依赖项,然后将其复制到VM。这很简单,但是我使用两个全局依赖项:PM2和pm2-windows-service。
我的问题是如何将这两个依赖项复制到VM,然后使其成为全局的?
答案 0 :(得分:1)
您可以在本地安装全局依赖项,并在node_modules路径中使用它们,例如:
node node_modules/.bin/pm2 start app.js
代替
pm2 start app.js
实际上,我倾向于建议使用最小数量的全局依赖项。只有npm
答案 1 :(得分:1)
来自npm-install:
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作为扩展名。
- 软件包内容应位于tarball的子文件夹中(通常称为package /)。 npm剥离一个目录 安装软件包时的层(相当于tar x --strip-components = 1已运行)。
- 该软件包必须包含具有名称和版本属性的package.json文件。
示例:
npm install ./package.tgz
因此,只需复制两个(打包的)软件包,然后在您的VM中运行上述命令,例如npm i -g /pm2.tar
。