Metoer not running - meteor

I did the following:
meteor create simple-todos
cd simple-todos
meteor --port 3030
[[[[[ ~/simple-todos ]]]]]
=> Started proxy.
=> Started MongoDB.
=> Started your app.
=> App running at: http://localhost:3030/
But my browser at localhost:3030 doesn't show anything. Other than:
ERR_CONNECTION_TIMED_OUT
Any help would be super!
I'm on a Mac. Using meteor 1.3.2.4 (The current version)
I experience the same problem when running just the meteor command alone with no arguments.
I just noticed that my hostname is incorrect (name of a family member's ipad) I switched to a new hostname using the hostname command and set it to a new name (not my original) could this have something to do with issue?

It was a problem with my etc/hosts file (typo). If Vijay wants to post an answer I'll delete this and accept that.

Related

Changing domain name from localhost to custom in meteor.js

I tried to change domain name of my project with the following command
$ set ROOT_URL=http://mixer.example.com:3000
$ meteor
And that seems to work according to output
=> Started your app.
=> App running at: http://mixer.example.com:3000
Type Control-C twice to stop.
But I can't open page at this address, it still opens only on localhost. What should I do to fix this?
If you are looking to run it with the domain locally...you need to change your hosts file (/etc/hosts) and add the domain and point it to localhost. In your case, it would look something like this:
127.0.0.1 mixer.example.com
This worked for me without doing anything else:
ROOT_URL=http://mydomainname.test:3000/ meteor --port 3000 --settings settings.local.json

Ionic2 with Meteor

I have a problem using Meteor in an Ionic2 project.
The project itself should run, as it is a clone of the Meteor-tutorial:
git clone https://github.com/Urigo/Ionic2CLI-Meteor-WhatsApp
When I start the Meteor server I get this
=> Started proxy.
server/publications.ts (24, 10): Property 'publishComposite' does not exist on type 'typeof Meteor'.
server/main.ts (14, 28): Property '_options' does not exist on type 'typeof Accounts'.
server/main.ts (51, 14): Property 'createUserWithPhone' does not exist on type 'typeof Accounts'.
=> Started MongoDB.
=> Started your app.
=> App running at: http://localhost:3000/
Then I start the ionic app with ionic serve and get this in the terminal
Running live reload server: http://localhost:35729
Watching: www/**/*, !www/lib/**/*, !www/**/*.map
√ Running dev server: http://localhost:8100
When I open the App I get this error in the browser's console:
Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost:8100/sockjs/info?cb=_07sz35uj7
As I understand it means that it tries to grab data from meteor but couldn't reach it. When I open the URL in the browser manually and change the port to 3000 I get back a message from meteor.
I found two hints on Google:
1) start the ionic app without livereload
ionic serve --nolivereload
2) to set __meteor_runtime_config__ to the correct URL:PORT
But hint 1 doesn't work and for hint 2 I have no idea where to place it.
While writing this I found out, that in the file node_modules/meteor-client-side/meteor-runtime-config.js the correct port is defined by
__meteor_runtime_config__ = {};
__meteor_runtime_config__.DDP_DEFAULT_CONNECTION_URL = 'http://localhost:3000';
So it looks like hint 2 is also already done.
Why is it still trying to reach the meteor server on wrong port, or is there maybe another problem?
Ok, solved it on my own again.
I had to add those lines of code to the index.html file of my ionic2 project:
<script>
__meteor_runtime_config__ = {
DDP_DEFAULT_CONNECTION_URL: 'http://localhost:3000'
};
</script>
No idea, why the config in the node_modules/meteor-client-side/meteor-runtime-config.js file is ignored.
Edit: Looks like there was a bug that is fixed in version 1.3.5
https://github.com/idanwe/meteor-client-side/issues/28#issuecomment-263252756

meteor :Cannot find module '../modules/es6.object.get-own-property-descriptor'

G:\projects\todos>meteor
[[[[[ ~\G\projects\todos ]]]]]
=> Started proxy.
=> Started MongoDB.
=> Errors prevented startup:
While loading plugin `compileTemplatesBatch` from package `templating`:
module.js:338:15: Cannot find module '../modules/es6.object.get-own- property-descriptor'
.....
=> Your application has errors. Waiting for file change.
I've followed the tutorial to create a new app on todo, but the app can not "meteor".
How can i resolve it?
If you are using Windows, update meteor to the latest version by running meteor update in the project folder. There is a known issue with long pathnames in windows and meteor 1.3 that was resolved in 1.3.1 version.
This issue is indeed resolved if you're on a version of meteor < 1.3.1 AND you're running Windows. I just ran into the same issue myself and performed the update suggested by michmach.

berks-api will not run on ubuntu in azure - get Permission denied # rb_sysopen - /etc/chef/client.pem

As part of our chef infrastructure I'm trying to set up and configure a berks-api server. I have created an Ubuntu server in azure and i have bootstrapped it and it appears as a node in my chef-server.
I have followed the instructions at github - bekshelf-api installation to install the berks-api via a cookbook. I have run
sudo chef-client
on my node and the cookbook appears to have been run successfully.
The problem is that the berks-api doesn't appear to run. My Linux terminology isn't great so sorry if I'm making mistakes in what I say but it appears as if the berks-api service isn't able to run. If I navigate to /etc/service/berks-api and run this command
sudo berks-api
I get this error
I, [2015-07-23T11:56:37.490075 #16643] INFO -- : Cache manager starting...
I, [2015-07-23T11:56:37.491006 #16643] INFO -- : Cache Builder starting...
E, [2015-07-23T11:56:37.493137 #16643] ERROR -- : Actor crashed!
Errno::EACCES: Permission denied # rb_sysopen - /etc/chef/client.pem
/opt/berkshelf-api/v2.1.1/vendor/bundle/ruby/2.1.0/gems/ridley-4.1.2/lib/ridley/client.rb:144:in `read'
/opt/berkshelf-api/v2.1.1/vendor/bundle/ruby/2.1.0/gems/ridley-4.1.2/lib/ridley/client.rb:144:in `initialize'
If anyone could help me figure out what is going on, I'd really appreciate it. If you need to explain the setup any more let me know.
It turns out I misunderstood the configuration of the berks-api. I needed to get a new private key for my client (berkshelf) from manage.chef.io for our organization. I then needed to upload the new key (berkshelf.pem) to /etc/berkshelf/api-server and reconfigure the berks-api to use the new key. so my config for the berks-api now looks like below:
{
"home_path":"/etc/berkshelf/api-server",
"endpoints":[
{
"type":"chef_server",
"options":
{
"url":"https://api.opscode.com/organizations/my-organization",
"client_key":"/etc/berkshelf/api-server/berkshelf.pem",
"client_name":"berkshelf"
}
}
],
"build_interval":5.0
}
I couldn't upload berkshelf.pem directly to the target location, i had to upload it to my home location, then copy it from within linux.
Having done this, the service starts and works perfectly.

Why does Meteor complain that an insert method for a collection is already defined?

Can anyone tell me why the code below throws the following error? :
Error: A method named '/players/insert' is already defined
I'm new to Meteor and coffeescript so I may be overlooking something simple.
Here's my port of the leaderboard example to coffeescript:
###
Set up a collection to contain player information. On the server,
it is backed by a MongoDB collection named "players."
###
Players = new Meteor.Collection("players")
if Meteor.is_client
Template.leaderboard.players = ->
Players.find({}, {sort: {score: -1, name: 1}})
Template.leaderboard.selected_name = ->
player = Players.findOne(Session.get "selected_player")
player and player.name
Template.player.selected = -> if Session.equals("selected_player", this._id) then "selected" else ''
Template.leaderboard.events = {
'click input.inc': ->
Players.update(Session.get("selected_player"), {$inc: {score: 5}})
}
Template.player.events = {
'click': ->
Session.set("selected_player", this._id)
}
# On server startup, create some players if the database is empty.
if Meteor.is_server
Meteor.startup ->
if Players.find().count() is 0
names = [
"Ada Lovelace"
"Grace Hopper"
"Marie Curie"
"Carl Friedrich Gauss"
"Nikola Tesla"
"Claude Shannon"
]
Players.insert({name: name, score: Math.floor(Math.random()*10)*5}) for name in names
The full stack trace is as follows:
[[[[[ ~/dev/meteor/leaderboard ]]]]]
Running on: http://localhost:3000/
node.js:201
throw e; // process.nextTick error, or 'error' event on first tick
^
Error: A method named '/players/insert' is already defined
at app/packages/livedata/livedata_server.js:744:15
at Function.<anonymous> (app/packages/underscore/underscore.js:84:24)
at [object Object].methods (app/packages/livedata/livedata_server.js:742:7)
at new <anonymous> (app/packages/mongo-livedata/collection.js:111:13)
at app/leaderboard.js:4:11
at /Users/alex/dev/meteor/leaderboard/.meteor/local/build/server/server.js:109:21
at Array.forEach (native)
at Function.<anonymous> (/Users/alex/dev/meteor/leaderboard/.meteor/local/build/server/underscore.js:76:11)
at /Users/alex/dev/meteor/leaderboard/.meteor/local/build/server/server.js:95:7
Exited with code: 1
I'm running Meteor version 0.4.0 (8f4045c1b9)
Thanks in advance for assistance!
You would also get this error, regardless of using coffeescript or plain javascript, if you duplicated your files. For example, copying your sources files to a subdirectory named Backup would produce this error, because Meteor merges files from subdirectories.
This appears to be a configuration issue with coffeelint (installed globally with npm).
I originally installed coffeelint to check that my coffeescript code was correct and had no errors.
I installed coffeelint as per the instructions with:
sudo npm install -g coffeelint
coffeelint worked fine when run stand-alone against .coffee files.
However, when running any Meteor project with coffeescript package added I got the above error.
On a whim, I thought the error might be due to conflict with my exisiting node install.
I decided to uninstall coffeelint first with:
sudo npm uninstall -g coffeelint
and then deleted the previously meteor-generated leaderboard.js file.
After re-starting meteor the coffeescript example above worked as expected without errors.
try moving (ie copying and deleting the original )
Players = new Meteor.Collection("players")
one time below if Meteor.is_client
and another time below if Meteor.is_server
I don't know exactly why, as I'm new to Meteor too, but that worked for me, I assume that the server side needs it's own reference,as well as the client,
although declaring outside the scope should do the same (maybe a bug, remember they're still at 0.5.0 preview , which makes me think you might wanna upgrade and try some new smart packages that are with the new version, it looks like you're using 0.4), but when the files in my server wouldn't recognize anything I defined the root directory of meteor (which pushes these files to both client and server), I defined the server's own reference, and I got the same error, and until I moved the 'public' declaration of the reference to give the server and the client each their own copy, nothing worked.
Hopefully that helps...

Resources