流星更新不更新heroku上的节点版本

问题描述:

我最近更新流星版本为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

以下解决方案适用于我。

我删除了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 

之后,部署工作正常。