我最近尝试在heroku上部署我的第一个MeteorJS(1.3)应用程序并收到服务器日志错误 - " Meteor需要Node v0.10.41或更高版本"。 不确定节点和流星之间的关系。流星应用程序实际上需要一个节点后端,还是一个流星病毒?
另外,当我运行" meteor node -v"我得到v0.10.43这是一个更高版本,所以我不确定部署时出现的问题。
答案 0 :(得分:5)
这是buildpack的一个问题" jordansissel / heroku-buildpack-meteor.git"
Meteor 1.3需要节点0.10.41,此buildpack编译节点为0.10.40。
我提交了一个新的buildpack的pull请求,或者在can be extended using the -XX:AutoBoxCacheMax
JVM option
答案 1 :(得分:4)
我在部署新版本的meteor 1.3时遇到了同样的问题,也花了一天的最佳时间,但最终得到了简单的解决方案!
你为流星1.3采取最后一个buildpack:
https://github.com/michaltakac/meteor-buildpack-horse然后执行其中显示的所有内容,而不是执行git push heroku master
,而是执行
git push -f heroku master
所以你的命令就是一堆:
>heroku create <yourapp>
>heroku buildpacks:set https://github.com/michaltakac/meteor-buildpack-horse.git
>heroku addons:create mongolab
>heroku config:set ROOT_URL=https://<yourapp>.herokuapp.com
>git push -f heroku master
感谢gitjason建议我找到正确的方向。
答案 2 :(得分:0)
您是否在发布之前在网上或Meteor documentation进行了搜索?它来自documentation,
您的JavaScript代码可以在两种环境中运行:客户端 (浏览器)和服务器(服务器上的Node.js容器)。
基本上,Meteor在节点JS的顶部运行,所有锅炉板都具有反应性和其他功能。
修改强> 现在流星也有一个guide。
答案 3 :(得分:0)
如果其他人来到这里,在尝试修复后,我的应用程序仍然在Heroku上启动了错误,但错误消息并不详细,只是继续给出Node版本错误。这一系列修复工作得以实现。
<强> 1。在终端,npm安装 - 对我来说这是重新安装的npm。我还运行了“流星更新”,但我知道没有重大更新会破坏我的应用程序。
<强> 2。检查.gitignore文件 - 可能存在重要内容。在我的例子中,“newrelic”文件夹在那里,但没有被引用为package.json中的依赖项。要解决此问题,请确保所有子文件夹在package.json中都有一个依赖项引用(推荐),否则从.gitignore中删除node_modules(创建额外的提取,不推荐但可以工作)。
第3。使用凯文的构建路径 - 或另一个更新的Meteor构建包 - 我使用了马包。确保将.git添加到URL的末尾,如下所示:
heroku buildpacks:set https://github.com/kevinseguin/heroku-buildpack-meteor.git --app myAppName
<强> 4。设置$ PATH - 在终端: PATH = $ PATH:$ HOME / .meteor
<强> 5。在Heroku中设置ROOT_URL - 有些说明将其设置为“myAppName.herokuapp.com”。这会导致Heroku出错。如果您在前面添加“http://”,则会修复此问题,“http://myAppName.herokuapp.com”。