在将meteor 1.3和meteor 1.4项目部署到ubuntu ec2时出现错误。
错误抱怨npm版本,说npm版本至少应为2并且无法读取/bundle/package.json
在mup.json文件中,我将节点版本更改为6.7.0和其他,以便我获得大于或等于版本2的npm。更改后再次运行mupx setup,mupx deploy再次出现相同的错误,在日志中我可以看到节点和npm版本没有改变
-----------------------------------STDERR----------------------------
npm@2, which has some small
npm WARN deprecated backwards-incompatible changes made to npm run-script and
npm WARN deprecated semver behavior.
npm ERR! install Couldn't read dependencies
npm ERR! Failed to parse json
npm ERR! Unexpected end of input
npm ERR! File: /bundle/bundle/programs/server/package.json
npm ERR! Failed to parse package.json data.
npm ERR! package.json must be actual JSON, not just JavaScript.
npm ERR!
npm ERR! This is not a bug in npm.
npm ERR! Tell the package author to fix their package.json file. JSON.parse
npm ERR! System Linux 3.13.0-98-generic
npm ERR! command "/usr/bin/node" "/usr/bin/npm" "i"
npm ERR! cwd /bundle/bundle/programs/server
npm ERR! node -v v0.10.43
npm ERR! npm -v 1.4.29
npm ERR! file /bundle/bundle/programs/server/package.json
npm ERR! code EJSONPARSE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /bundle/bundle/programs/server/npm-debug.log
npm ERR! not ok code 0
=> Redeploying previous version of the app
-----------------------------------STDOUT-----------------------------------
To see more logs type 'mup logs --tail=50'
----------------------------------------------------------------------------
所以我想到手动登录到aws实例并在那里更改节点版本。
当我登录时,首先当我运行像meteor这样的命令时,节点我可以看到找不到命令,当我运行mupx setup时它已经成功设置了系统。
接下来我安装了节点和npm到最新版本,然后我回到了我的流星项目。 我通过评论setupNode改变了mup.json文件,因为我已经在我的aws ec2 ubuntu上安装了最新版本的节点。
我运行了mupx setup,mupx deploy但是同样的错误。
所以问题是如何实际更改流星项目的节点版本以及mup如何在ec2实例上设置环境以及在哪里,就像我登录时看不到任何commad被接受,那么流星如何获取已安装的依赖关系以及从哪里开始。