NPM私人模块错误

我有几个不在npm站点上的私有模块,我想在我的应用程序中使用它们,但在Elasticbeanstalk上传时遇到了一些问题。 (Elastic beanstalk在每次上传之后运行npm install)。

  1. AWS最初抱怨说在NPM上找不到这些私有模块,所以我从package.json文件中删除了它们的条目。

  2. 一旦我删除了,我再次上传应用程序与node_modules文件夹那些包然后AWS开始抱怨

    Error: Cannot find module 'my-private-module-name' 

我想知道私人模块是如何工作的,所以我不需要通过NPM至less部署或作为最后的手段,我会发布它们。

编辑

 "dependencies": { "body-parser": "^1.12.4", "express": "^4.12.3", "multer": "^0.1.8", "mustache": "^2.0.0", "mysql": "^2.6.2", "my-private-module": "^1.0.5", "redis": "^0.12.1", "socket.io": "^1.3.3" }, 

如果你不想在npm上查找某些软件包,你需要有一个发布软件包的内部方式。

在您的个人包中,您需要将"publishConfig":{"registry":"http://my-internal-registry.local"}package.json文件中。

这将允许您在该位置查找软件包,而不是直接进入NPM。

https://docs.npmjs.com/misc/registry

然后在你的〜/ .npmrc文件中,你可以指定一个registry,在npm上查找模块之前,npm将首先使用它。