2015-06-12 68 views
1

自動安裝包的類名(在定義的package.json)我是很新的和的NodeJS我現在面臨NPM問題安裝classnames包,它保存到package.json文件。不能由NPM

讓說我有這個dependencies列表:

"dependencies": 
{ 
    "classnames": "^2.1.2", 
    "jquery": "^2.1.3", 
    "sleep": "^1.2.0", 
}, 

然後,當我運行npm install,只有jQuery的睡眠安裝到node_modules文件夾,而不是類名。但是,如果我手動運行npm install classnames,它會將該程序包下載到node_modules文件夾。

因此,我可以通過此解決方案在本地運行我的應用程序,但是當我將代碼部署到heroku時,無法以任何方式安裝它,並且我的應用程序無法運行。

我試圖運行npm cache clean但它沒有幫助。從特定的類名稱包或其他什麼是否是一個問題?

在此先感謝。

回答

1

最後我可以解決這個問題。這不是隻有類別名稱包的問題。

解決方法是在我安裝了本地所需的所有軟件包後運行npm shrinkwrap。然後提交所有內容(尤其包括npm-shrinkwrap.json)的更改並推送至heroku。

原因已清楚解釋here。快速回顧:

當「故宮安裝」安裝與包根NPM-shrinkwrap.json文件 ,在拆封文件(而不是的package.json 文件)包完全認爲驅動程序包的安裝和所有的 其依賴關係(遞歸)。