无法通过npm自动安装classnames包(在package.json中定义)
我很新的NodeJS和我面临npm安装classnames
包保存到package.json
文件的问题。
假设我有这个dependencies
列表:
"dependencies": { "classnames": "^2.1.2", "jquery": "^2.1.3", "sleep": "^1.2.0", },
然后,当我运行npm install
,只有jquery和sleep被安装到node_modules
文件夹中,而不是classnames 。 但是,如果我手动npm install classnames
,它会将该程序包下载到node_modules文件夹。
所以,我可以通过这个解决方法在本地运行我的应用程序,但是当我将代码部署到heroku时,无法以任何方式安装,并且我的应用程序无法运行。
我试图运行npm cache clean
但没有帮助。 这是从特定的类名包或其他什么问题吗?
提前致谢。
最后我可以解决这个问题。 这不是只有classnames包的问题。
解决的办法是在我安装了本地需要的所有软件包后运行npm shrinkwrap
。 然后提交所有(特别是包括npm-shrinkwrap.json中的更改)并推送到heroku。
原因已经在这里解释清楚了 。 快速复审:
当“npm install”在软件包根目录下安装了一个npm-shrinkwrap.json文件的软件包时,shrinkwrap文件(而不是package.json文件)完全驱动该软件包及其所有依赖项(recursion)的安装。
- 如何在mongoLab和Heroku服务器中使用mongo URI
- 我应该使用从服务prodiver或heroku插件elasticsearch或从我自己的elasticsearch设置?
- 用socket.io-redis和RedisToGo在Heroku上扩展到2+ dynos
- 在Heroku上部署meteor应用程序时出错
- 如何获得发送GET的服务器的IP到在Heroku上运行的节点服务器?
- 如何将静态HTML和CSS文件连接到Node.js应用程序?
- 在Heroku的每个部署之后避免npm刷新
- Heroku部署nodejs应用程序与页面导航有问题
- 无法检测到设置buildpack https://github.com/jasonswett/heroku-buildpack-nodejs