node.js – 使用grunt,bower,node modules部署到heroku

我正在为heroku部署一个卑鄙的应用程序,并且正在使用bower和grunt.我应该在git repo中包含我的节点模块吗?如果没有,我真的不确定我需要如何部署,因为post脚本引用了节点模块的bower安装.我应该在git repo中包含我的bower_components吗?这似乎不是我应该因为不是后记的全部内容执行bower安装在heroku上?但是当我这样做时,我得到一个错误.这是我的凉亭依赖:
"dependencies": {
    "angular": "1.2.x","angular-mocks": "~1.2.x","jquery": "1.10.2","bootstrap": "~3.1.1","angular-bootstrap" : "0.11.0"
  }

还有我的package.json

{
  "main": "server.js","engines": {
    "node": "0.10.29"
  },"dependencies": {
    "express": "~3.4.x","mongoose": "~3.6.x","mongodb": "^1.4.0","ejs": "*","email-templates" : "1.0.0","crypto": "0.0.3","lodash": "~2.4.1","aws-sdk": "2.0.0-rc11","passport" : "~0.1.17","passport-local" : "~0.1.6","connect-flash" : "~0.1.1","winston": "0.6.x","gm"    : "1.16.0","apn" : "1.5.2","bcrypt-nodejs" : "latest","angular-wizard": "latest","point-in-polygon": "latest","node-mailgun": "0.0.2","nodemailer"  : "0.7.0","passport-facebook" : "1.0.3"
  },"devDependencies": {
    "supertest": "0.5.x","bower": "0.6.x","mocha": "1.8.x","should": "1.2.x","karma": "~0.10","protractor": "^0.24.2","http-server": "^0.6.1","bower": "^1.3.1","grunt-cli": "~0.1.13","grunt-env": "~0.4.1","grunt-node-inspector": "~0.1.3","grunt-contrib-watch": "~0.6.1","grunt-contrib-jshint": "~0.10.0","grunt-contrib-csslint": "^0.2.0","grunt-contrib-uglify": "~0.4.0","grunt-contrib-cssmin": "~0.9.0","grunt-nodemon": "~0.2.0","grunt-concurrent": "~0.5.0","grunt-mocha-test": "~0.10.0","grunt-karma": "~0.8.2","grunt-protractor-runner": "~1.0.0","load-grunt-tasks": "~0.4.0","jasmine-reporters": "~0.4.0","karma": "~0.12.0","karma-jasmine": "~0.2.1","karma-coverage": "~0.2.0","karma-chrome-launcher": "~0.1.2","karma-firefox-launcher": "~0.1.3","karma-phantomjs-launcher": "~0.1.2","karma-junit-reporter": "~0.2","shelljs": "^0.2.6","xunit-file": "*"
  },"scripts": {
    "postinstall": "node_modules/.bin/bower install","pretest": "npm install","test": "karma start test/karma.conf.js","test-single-run": "karma start test/karma.conf.js  --single-run","preupdate-webdriver": "npm install","update-webdriver": "webdriver-manager update","preprotractor": "npm run update-webdriver","protractor": "protractor test/protractor-conf.js","update-index-async": "node -e \"require('shelljs/global'); sed('-i',/\\/\\/@@NG_LOADER_START@@[\\s\\S]*\\/\\/@@NG_LOADER_END@@/,'//@@NG_LOADER_START@@\\n' + cat('bower_components/angular-loader/angular-loader.min.js') + '\\n//@@NG_LOADER_END@@','app/index-async.html');\""
  }
}

我收到此错误:

5816 info fsevents@0.2.0 Failed to exec install script
5817 error fsevents@0.2.0 install: `node-gyp rebuild`
5817 error Exit status 1
5818 error Failed at the fsevents@0.2.0 install script.
5818 error This is most likely a problem with the fsevents package,5818 error not with npm itself.
5818 error Tell the author that this fails on your system:
5818 error     node-gyp rebuild
5818 error You can get their info via:
5818 error     npm owner ls fsevents
5818 error There is likely additional logging output above.
5819 error System Linux 3.8.11-ec2
5820 error command "/tmp/build_2cc32425-eae7-45af-8b95-104e1c2c7c53/vendor/node/bin/node" "/tmp/build_2cc32425-eae7-45af-8b95-104e1c2c7c53/vendor/node/bin/npm" "rebuild"
5821 error cwd /tmp/build_2cc32425-eae7-45af-8b95-104e1c2c7c53
5822 error node -v v0.10.29
5823 error npm -v 1.4.14
5824 error code ELIFECYCLE
5825 verbose exit [ 1,true ]

 !     Push rejected,failed to compile Node.js app

我已经读过我需要npm install -g karma但这没有帮助.或者bower安装错误…我的开发依赖项是不正确的?

解决方法

我发现Joe Eames的这个视频教程对于使用MEAN堆栈进行开发并部署到Heroku: http://pluralsight.com/training/courses/TableOfContents?courseName=building-angularjs-nodejs-apps-mean&highlight=非常有用

给出的指导是你不应该在git repo中包含你的node_modules,你应该让Heroku在部署时为你构建那些.

阅读您的文件似乎您可能列出了太多的依赖项.即我认为你不需要将’Bower’列为package.json中的dev-dependency.同样,你在package.json中包含的脚本也不是我以前见过的.我将使用Heroku命令或在此处找到的grunt构建包进行部署:github.com/mbuchetics/heroku-buildpack-nodejs-grunt.git

有关如何使用grunt部署到Heroku的更多说明,请访问:https://medium.com/@3runjo/how-to-deploy-a-grunt-project-on-heroku-c227cb1ddc56

我意识到这不是一个完整的答案,但应该给你足够的线索来解决你的问题.

相关文章

这篇文章主要介绍“基于nodejs的ssh2怎么实现自动化部署”的...
本文小编为大家详细介绍“nodejs怎么实现目录不存在自动创建...
这篇“如何把nodejs数据传到前端”文章的知识点大部分人都不...
本文小编为大家详细介绍“nodejs如何实现定时删除文件”,内...
这篇文章主要讲解了“nodejs安装模块卡住不动怎么解决”,文...
今天小编给大家分享一下如何检测nodejs有没有安装成功的相关...