2015-06-12 16 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 文件)包完全认为驱动程序包的安装和所有的 其依赖关系(递归)。