2014-07-02 9 views
5

Wdrażam średnią aplikację na heroku i używam altany i chrząknięcia. Czy powinienem uwzględnić moduły węzłów w repozytorium git? Jeśli nie, to naprawdę nie jestem pewien, w jaki sposób muszę wdrożyć, ponieważ skrypt poinstalacyjny odwołuje się do instalacji altanki z modułów węzła. Czy w repozytorium git powinienem uwzględnić moje komponenty bower_? Nie wydaje mi się, że powinienem, ponieważ nie jest to cały punkt postscriptu, aby wykonać instalację altanki na Heroku? Ale kiedy to robię, pojawia się błąd. Oto moje zależności altana:Rozmieszczanie w heroku z chrząknięciem, altanką, modułami węzła

"dependencies": { 
    "angular": "1.2.x", 
    "angular-mocks": "~1.2.x", 
    "jquery": "1.10.2", 
    "bootstrap": "~3.1.1", 
    "angular-bootstrap" : "0.11.0" 
    } 

A moja 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', /\\/\\/@@[email protected]@[\\s\\S]*\\/\\/@@[email protected]@/, '//@@[email protected]@\\n' + cat('bower_components/angular-loader/angular-loader.min.js') + '\\n//@@[email protected]@', 'app/index-async.html');\"" 
    } 
} 

dostaję ten błąd:

5816 info [email protected] Failed to exec install script 
5817 error [email protected] install: `node-gyp rebuild` 
5817 error Exit status 1 
5818 error Failed at the [email protected] 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 

Czytałem, że muszę zainstalować -g NPM karmę ale to nie pomaga. Lub błąd w instalacji bower ... Czy moje zależności od dev są nieprawidłowe?

Odpowiedz

3

znalazłem ten samouczek wideo z Joe Eames być bardzo przydatne dla rozwoju ze stosem oznacza i wdrażania do Heroku: http://pluralsight.com/training/courses/TableOfContents?courseName=building-angularjs-nodejs-apps-mean&highlight=

Wytyczne podane jest, że nie powinien zawierać swoje node_modules w repo git Państwo powinno pozwól Heroku budować je dla ciebie, gdy będziesz wdrażać.

Podczas przeglądania plików wydaje się, że na liście znajduje się zbyt wiele zależności. nie sądzę, że potrzebujesz "Bower" wymienionej jako zależność od dev w package.json. Podobnie skrypt zawarty w pakiecie .json nie jest czymś, co widziałem wcześniej. Wdrażam przy użyciu komend Heroku lub pakietu budowania gruntu, który można znaleźć tutaj: github.com/mbuchetics/heroku-buildpack-nodejs-grunt.git

Więcej informacji na temat wdrażania w Heroku za pomocą gruntu można znaleźć tutaj: https://medium.com/@3runjo/how-to-deploy-a-grunt-project-on-heroku-c227cb1ddc56

Rozumiem, że nie jest to pełna odpowiedź, ale powinna dać ci wystarczająco dużo informacji, by usunąć problem.

1

Brakuje buildu nodejs dla heroku. Także jeśli używasz chrząknięcia, jak widzę, musisz iść na build build nodejs. To jest jeden:

https://github.com/mbuchetics/heroku-buildpack-nodejs-grunt

Wystarczy zarejestrować się swoimi Gruntfile.js zadania na budowę w Heroku tak na przykład:

grunt.registerTask('heroku:development', 'clean less mincss'); 
grunt.registerTask('heroku:production', 'clean less mincss uglify'); 

również pamiętać, aby dodać zmienną config Heroku aplikacja:

heroku config:add BUILDPACK_URL=https://github.com/mbuchetics/heroku-buildpack-nodejs-grunt.git 

używasz bardzo starej wersji altana w package.json, kopalnia jest:

"scripts": { 
    "postinstall": "./node_modules/bower/bin/bower install" 
}, 
"dependencies": { 
    "bower": "^1.3.5", 
+0

Po dodaniu obu nadal otrzymuję ten sam błąd – thebiglebowski11

0

Dodaj do tego pliku .slugignore:

/node_modules/grunt-karma/ 
/node_modules/grunt-protractor-runner/ 
/node_modules/karma/ 
/node_modules/karma-chrome-launcher/ 
/node_modules/karma-mocha/ 
/node_modules/karma-ng-html2js-preprocessor/ 
/node_modules/ngmin/ 
/node_modules/protractor/ 
/node_modules/rfile/ 
/node_modules/rfileify/ 
/node_modules/rhtml/ 

to rozwiązać mój problem z emisją [email protected]

Powiązane problemy