npm私有模块错误

时间:2015-05-26 19:31:49

标签: node.js npm amazon-elastic-beanstalk npm-private-modules

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

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

  2. 删除后,我再次使用包含这些软件包的node_modules文件夹上传了应用程序,然后AWS开始抱怨

    Error: Cannot find module 'my-private-module-name'
    
  3. 我想知道私有模块是如何工作的,所以我不必通过NPM至少部署或作为最后的手段我会发布它们。

    修改

    "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"
      },
    

1 个答案:

答案 0 :(得分:1)

如果您希望不在npm上查找某些包,则需要有一种内部发布包的方式。

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

这将允许您在该位置查找包,而不是直接转到NPM。

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

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