gpt4 book ai didi

node.js - 使用 grunt、bower、node 模块部署到 heroku

转载 作者:搜寻专家 更新时间:2023-10-31 22:32:22 24 4
gpt4 key购买 nike

我正在向 heroku 部署一个普通的应用程序,并且正在使用 bower 和 grunt。我应该在 git 仓库中包含我的 Node 模块吗?如果没有,我真的不确定我需要如何部署,因为后脚本引用了 Node 模块中的 bower 安装。我应该在 git 仓库中包含我的 bower_components 吗?似乎我不应该这样做,因为后记的重点不是在 heroku 上执行 bower 安装吗?但是当我这样做时,我得到了一个错误。这是我的凉亭依赖项:

"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=

给出的指导是您不应将 node_modules 包含在 git 存储库中,您应该让 Heroku 在部署时为您构建它们。

通读你的文件,你似乎列出了太多的依赖项。也就是说,我认为您不需要在 package.json 中将“Bower”列为开发依赖项。同样,您包含在 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

我知道这不是一个完整的答案,但应该会给你足够的线索来调试你的问题。

关于node.js - 使用 grunt、bower、node 模块部署到 heroku,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24534920/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com