2015-05-26 105 views
1

我有一些私人模塊不在npm站點上,我想在我的應用程序中使用它們,但在Elasticbeanstalk上傳時遇到了一些問題。 (Elastic beanstalk在每次上傳後運行npm install)。NPM私人模塊錯誤

  1. 的AWS開始抱怨說,它無法找到NPM那些私人模塊,所以我刪除從文件的package.json他們的作品。

  2. 一旦我刪除,我具有這些軟件包node_modules文件夾再加載該應用程序,然後AWS開始抱怨

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

我不知道怎麼模塊私人工作,所以我不必至少通過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" 
    }, 
+0

你在哪裏存儲模塊?只是在一個git回購? – ckross01

+0

與node_modules文件夾中的相同,並且我將所有內容上傳到aws – user2727195

+0

你是說我可以爲npm install提供一個git url來拉取,我編輯了我的package.son,請進一步指導 – user2727195

回答

1

你需要有發佈包的內部的方式,如果你想沒有一定的包裝擡頭的NPM。

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

這將允許您在該位置查找包,而不是直接進入NPM。

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

然後在你的〜/ .npmrc文件,你可以指定故宮將首次使用之前,對故宮查找模塊註冊表。