2017-11-04 162 views
0

我最近更新流星版本爲1.6,該應用在本地工作正常。但是當我把它推到heroku時,它墜毀了。我試圖調試並發現正在使用的節點版本是4.7,而應該升級到8.8。流星更新不更新heroku上的節點版本

我創建了一個新的heroku應用程序,並推送相同的代碼,它安裝了8.8.1版本的節點,並且該應用程序工作正常。

我正在使用meteor-build-pack在heroku上部署。我試圖部署具有詳細選項的應用程序,並得到了以下的輸出:

Delta compression using up to 4 threads. 
Compressing objects: 100% (4/4), done. 
Writing objects: 100% (4/4), 4.04 KiB | 0 bytes/s, done. 
Total 4 (delta 3), reused 0 (delta 0) 
remote: Compressing source files... done. 
remote: Building source: 
remote: 
remote: -----> Node.js app detected 
remote: + dirname -- /app/tmp/buildpacks/e8ef66c97ff87490036b0bdac9cc69618b4e878ee154e54a4c440c97fedc6dea65411bdc09dedcae43db0b412deddd38898a0dbc60489b7d8bb75b29bc0e1628/bin/compile 
remote: + cd -P -- /app/tmp/buildpacks/e8ef66c97ff87490036b0bdac9cc69618b4e878ee154e54a4c440c97fedc6dea65411bdc09dedcae43db0b412deddd38898a0dbc60489b7d8bb75b29bc0e1628/bin 
remote: + cd .. 
remote: + pwd -P 
remote: + BUILDPACK_DIR=/app/tmp/buildpacks/e8ef66c97ff87490036b0bdac9cc69618b4e878ee154e54a4c440c97fedc6dea65411bdc09dedcae43db0b412deddd38898a0dbc60489b7d8bb75b29bc0e1628 
remote: + APP_CHECKOUT_DIR=/tmp/build_323a962de4ff4f5ff909303519587f02 
remote: + APP_SOURCE_DIR=/tmp/build_323a962de4ff4f5ff909303519587f02 
remote: + [ -n ] 
remote: + [ ! -d /tmp/build_323a962de4ff4f5ff909303519587f02/.meteor ] 
remote: + [ ! -d /tmp/build_323a962de4ff4f5ff909303519587f02/.meteor ] 
remote: + mktemp -d /app/tmp/buildpacks/e8ef66c97ff87490036b0bdac9cc69618b4e878ee154e54a4c440c97fedc6dea65411bdc09dedcae43db0b412deddd38898a0dbc60489b7d8bb75b29bc0e1628/meteor-XXXX 
remote: + METEOR_DIR=/app/tmp/buildpacks/e8ef66c97ff87490036b0bdac9cc69618b4e878ee154e54a4c440c97fedc6dea65411bdc09dedcae43db0b412deddd38898a0dbc60489b7d8bb75b29bc0e1628/meteor-UUbt 
remote: + COMPILE_DIR_SUFFIX=.meteor/heroku_build 
remote: + COMPILE_DIR=/tmp/build_323a962de4ff4f5ff909303519587f02/.meteor/heroku_build 
remote: + [ -z 1 ] 
remote: + mkdir -p /tmp/build_323a962de4ff4f5ff909303519587f02 /app/tmp/buildpacks/e8ef66c97ff87490036b0bdac9cc69618b4e878ee154e54a4c440c97fedc6dea65411bdc09dedcae43db0b412deddd38898a0dbc60489b7d8bb75b29bc0e1628/meteor-UUbt /tmp/build_323a962de4ff4f5ff909303519587f02/.meteor/heroku_build 
remote: + PATH=/app/tmp/buildpacks/e8ef66c97ff87490036b0bdac9cc69618b4e878ee154e54a4c440c97fedc6dea65411bdc09dedcae43db0b412deddd38898a0dbc60489b7d8bb75b29bc0e1628/meteor-UUbt/.meteor:/tmp/build_323a962de4ff4f5ff909303519587f02/.meteor/heroku_build/bin:/usr/local/bin:/usr/bin:/bin:/tmp/codon/vendor/bin 
remote: + [ -z https://peopablility-dev.herokuapp.com/ ] 
remote: + [ -z https://peopablility-dev.herokuapp.com/ ] 
remote: + echo -----> Installing node 
remote: -----> Installing node 
remote: + curl -sS --get https://semver.io/node/resolve/4.4.x 
remote: + NODE_VERSION=4.4.7 
remote: + NODE_URL=http://s3pository.heroku.com/node/v4.4.7/node-v4.4.7-linux-x64.tar.gz 
remote: + curl -sS http://s3pository.heroku.com/node/v4.4.7/node-v4.4.7-linux-x64.tar.gz -o - 
remote: + tar -zxf - -C /tmp/build_323a962de4ff4f5ff909303519587f02/.meteor/heroku_build --strip 1 
remote: + export npm_config_prefix=/tmp/build_323a962de4ff4f5ff909303519587f02/.meteor/heroku_build 
remote: + export CPATH=/tmp/build_323a962de4ff4f5ff909303519587f02/.meteor/heroku_build/include 
remote: + export CPPPATH=/tmp/build_323a962de4ff4f5ff909303519587f02/.meteor/heroku_build/include 

我同時推到新的應用程序(這和預期一樣)得到的輸出如下:

Counting objects: 4, done. 
Delta compression using up to 4 threads. 
Compressing objects: 100% (4/4), done. 
Writing objects: 100% (4/4), 4.04 KiB | 0 bytes/s, done. 
Total 4 (delta 3), reused 0 (delta 0) 
remote: Compressing source files... done. 
remote: Building source: 
remote: 
remote: -----> Node.js app detected 
remote: -----> Installing meteor 
remote: Downloading Meteor distribution 
remote: 
remote: Meteor 1.6 has been installed in your home directory (~/.meteor). 
remote: 
remote: Now you need to do one of the following: 
remote: 
remote: (1) Add "$HOME/.meteor" to your path, or 
remote: (2) Run this command as root: 
remote:   cp "/app/tmp/cache/meteor/.meteor/packages/meteor-tool/1.6.0/mt-os.linux.x86_64/scripts/admin/launch-meteor" /usr/bin/meteor 
remote: 
remote: Then to get started, take a look at 'meteor --help' or see the docs at 
remote: docs.meteor.com. 
remote: -----> Target Meteor version: Meteor 1.6 
remote: -----> Checking if this meteor version supports --server-only 
remote: -----> Using node: v8.8.1 
remote: -----> and npm: 5.4.2 
remote: 
remote: > [email protected] install /tmp/build_21ef7e1fdbfb1b38dabd9b1b9890a874/node_modules/bcrypt 
remote: > node-pre-gyp install --fallback-to-build 
remote: 
remote: [bcrypt] Success: "/tmp/build_21ef7e1fdbfb1b38dabd9b1b9890a874/node_modules/bcrypt/lib/binding/bcrypt_lib.node" is installed via remote 
remote: added 218 packages in 9.596s 
remote: -----> Building Meteor app with ROOT_URL: https://peopability-local.herokuapp.com 
remote: Warning: missing space before text for line 3 of jade file "imports/ui/components/capabilityAssessmentQuestions/capabilityAssessmentQuestion.tpl.jade" 
remote: Warning: missing space before text for line 17 of jade file "imports/ui/components/capabilityAssessmentQuestions/capabilityAssessmentQuestionDetail.tpl.jade" 
remote: Warning: missing space before text for line 2 of jade file "imports/ui/components/organisationUser/organisationUserAskedQuestion.tpl.jade" 
remote: -----> Moving built slug to /tmp/build_21ef7e1fdbfb1b38dabd9b1b9890a874/.meteor/heroku_build/app 
remote: -----> Installing npm production dependencies on built slug 
remote: 
remote: > [email protected] install /tmp/build_21ef7e1fdbfb1b38dabd9b1b9890a874/.meteor/heroku_build/app/programs/server/node_modules/fibers 
remote: > node build.js || nodejs build.js 

任何幫助將不勝感激。提前致謝!

+0

你有在package.json中定義的節點版本的「引擎」,你在Heroku上推送嗎?如果是,那麼你在那裏的節點版本是什麼? – Kapil

+0

是的,我在package.json中添加了引擎。這也沒有用。 – abhima9yu

回答

0

以下解決方案適用於我。

我刪除了buildpack並重新創建它。

heroku buildpacks:clear --app appName 
heroku buildpacks:set https://github.com/AdmitHub/meteor-buildpack-horse.git --app appName 

然後我將NODE_VERSION設置爲heroku的配置變量爲我想要的版本。

heroku config:set NODE_VERSION=8.8.1 --app appName 

之後,部署工作正常。