Getting Started with Meteor


#1

Meteor is an open-source platform for building web apps using both server-side and client-side JavaScript.

Note: Because of the heavy load and system resources it requires, it can be slow or require you to resize your workspace and give it more RAM/disk space (several people recommend at least 1GB of RAM for Meteor installs).

Furthermore, because of the frequent updates and changes with Meteor, this page is prone to become outdated. Please suggest edits as you see fit.

To get started with Meteor, create a new workspace using a blank Ubuntu template.

When you get into the workspace, install Meteor with the following command:

$ curl https://install.meteor.com/ | sh

Depending on what the current version is, this install should take about a minute. After that is done, create a new meteor application:

$ meteor create myApp

Then change directory into your app, install babel-runtime, and run Meteor for the first time with:

$ cd myApp
$ meteor npm install --save babel-runtime
$ meteor --port $IP:$PORT

This will install all Meteor components necessary and ensure that Meteor runs on the proper host and IP address. From there, click the application preview link that shows up in the top right hand corner and look at your new Meteor app!


Meteor workspace type not listed when I create a new workspace
Meteor Telescope App not starting with $IP:$PORT
Tutorials - Table of Contents
#2

Brady,
I tried this and it’s been stuck on downloading meteor-tools1.1.9 for about 40 mins.
Also, this doesn’t address how those of that have a working meteor app get things running. I haven’t been able to get mine to work for the last 2 weeks and it’s really frustrating.


#4

Brady,

Thank you so much for your warm approach, prompt responses and efforts to our issues but as @ericklind says it can not finish the process “downloading meteor-tool@1.1.9…” .


#5

Same problem here more the 24 hours waiting to “Downloading meteor-tool@1.1.9…


#6

I was still unable to get this to work, and when I tried my own app it got hung up on the build process as well. Eventually, the node process hits a memory limit and is killed.


#7

@ericklind it looks like this is indeed the case. The previously existing Meteor workspace type would bump users up in RAM just a little bit so they could get it running but now this is not the case. If you’d like to run Meteor, depending on the packages you use in your project, you may need to get a premium plan and resize your workspace.


#8

Brady,

I am a paid subscriber and facing with this unceasing downloading problem while I have a 2.5 GB RAM & 10 GB Disk Space.


#9

I have no trouble with the first cestion but when I run this command in the terminal it loops for ages. Still waiting for it to resolve.


#10
  1. Create a new c9 instance. You can use the Blank Ubuntu template.

  2. Install the current production version of Meteor which is 1.4.0.1 at the moment by running this command:

curl https://install.meteor.com/ | sh

  1. After it’s installed, less than a minute, create a new application

meteor create demo.

  1. run it

cd demo
meteor --port $IP:$PORT

Once it starts running c9 will return a message with the url you need to access the app. By default its:

https://c9WorkspaceNameYouCreated-YourC9UserName.c9users.io

To make your life easier:

  1. The default c9 instance is 512meg. You can do work on this but suggest you resize it to 1gig.

  2. It won’t make any difference if you like this feature or not, and you won’t enjoy it at best, when you run your application behind the scenes Meteor will check to see if there is an update. If there is it will download it in the background. The next time you run your app it will do an automatic update.

  3. Meteor is going through a lot of changes. I don’t want to get involved with that discussion. You might follow forums.meteor.com.


Cannot get meteor to run on C9. Are you no longer supporting meteor?
#11

Thank you so much @dtrimsd. It works.

I have no idea whether the absence of the command “$ meteor npm install” affects anything but since I am trying to execute the instructions in the Angular 2.0 - Meteor Tutorial at http://www.angular-meteor.com/tutorials/socially/angular2 (as @fidelis also does) , I run that command as well after creating a new app before running “meteor --port $IP:$PORT” . It took approximately 15 minutes to see the app running in my resized workspace.

You are 100% right about changes which makes me think of as well.

Thanks once again for the information you provide.


#12

Meteor runs on top of node but if node isn’t available when you do the curl… the installer will also install node.js

the newest version of meteor installs npm for its use. .If you’re just using atmosphere.js packages you don’t need to do anything special with npm. I haven’t used npm yet so I can’t give you any suggestions on that.

If you’re going to do anything with accounts if you do a:

meteor add accounts-password

Make sure that it’s the first package you add. There’s something weird going on if is not the first one installed. The next time an update happens you’ll probably gem some weird messages about bcrypt.

If your project is running an older version of meteor when it first starts there’s a check. If a new one is found it will be downloaded and the nex time it will be installed. That may be why things are taking so long.


#13

Thanks dtrimsd. I will give that a shot. I’m currently working on some tutorials on a local server but when I come to build my msc project I will hopefully build it on c9. I’m guessing all current tutorials are still relevant to the updated Meteor 1.4?


#14

I’m guessing all current tutorials are still relevant to the updated Meteor 1.4?

I’d have to say they are just barely relevant and on their last gasp. All sorts of things are changing.

There was one breaking change with 1.4. https://guide.meteor.com/1.4-migration.html.

Going forward MDG is supporting React and Angular. The support for Blaze will be taken over by the community.

If you look at the new To Do App Blaze tutorial you’ll see foreshadowing of the direction things are going You’d probably be better off working thru the React tutorial.

Meteor’s current packaging system is on its last legs. They are converting over to using NPM.

They are building a new server-side tool, Apollo, which will be replacing some of the existing application. They are supposed to be adding a layer on top of Apollo that will continue to provide a Meteor like method. I don’t know how many more releases they will do that though.

It appears that the direction they are going will provide a much more robust toolset for being able to develop and support far more complex applications. The sad thing is that the simple and almost magical Meteor we first bumped into is disappearing.

This is just my opinion.


#15

Also, don’t bother learning Iron Router because that’s being (been?) abandoned and I see reports of it breaking when used with newer Meteor releases. I believe Flow Router is the current suggestion though I’ve seen some posts mentioning that React has its own router.


#16

Thanks that advice, so far I have been using the FLow Router. I did also hear that a lot of people are having problems with account password with the npm [bcryt]. (https://github.com/meteor/meteor/issues/7469) I have had a bit of trouble with it on a mac that im using.


#17

Thanks so much Dave (@dtrimsd) for all your help while you are such reluctant to join us :slight_smile:

I might have something additional to increase your ‘desire’ . :smile: Could I ask?

I thought the command $ meteor --port $IP:$PORT was just needed for the first time but it stucks on “Starting your app” (and can not finish it) when I just use the command $ meteor alone in my next tries and while it only takes 3-4 minutes to get the app run with $ meteor --port $IP:$PORT. Does it require to be addressed?

Thanks once again.

F.N. : Apologies for the unnecessary saucy (if there is) in my words


#18

Yes, you may. No problem on the “attitude”. ;o)

Good question. I’ve always used either :
meteor --port $IP:$PORT
meteor -p 8080

If you run meteor without the --port or -p option it defaults to 3000. Apparently c9 doesn’t like that.

I tried with just meteor and meteor -p 3000 and it just sits there trying to start.

According to https://docs.c9.io/docs/multiple-ports ports 8081 and 8082 are available. I’ve never gotten them to work using the -p or --port flag.


#19

@dtrimsd maybe I’m missing something obvious but do you know what’s the main reason your steps work and the original post doesn’t? Is it the fact that you’re installing it on a blank Ubuntu workspace or is there something else that’s different?


#20

Alrighty, I’ve updated the top post, thank you again for your contributions and discussion. Let me know if further changes are necessary :thumbsup:


#21

I’ve just tried this but the app stalls after

$ meteor --port $IP:$PORT

It will start if I just use:

$ meteor

but then I can’t access it because its on the wrong port.

I’m using a 2.5GB Memory instance, and Meteor is at 1.4.0.1

I don’t see any errors, just hangs, so not sure how to troubleshoot…

Thanks

Mark