I was trying to get an example an working from this tutorial: http://g00glen00b.be/meteor-twitter-streaming/
Here's the Github url: https://github.com/g00glen00b/meteor-twitter-stream
It was written in Meteor 0.7 and it requires some packages so the instructions say to do this:
mrt add semantic-ui
mrt add npm
mrt add streams
mrt add momentjs
However, I have Meteor 0.9.4 and since 0.9 we're not supposed to use meteorite anymore, just add packages directly with the "meteor add #package#" command.
The problem is that none of the packages needed by this project can be found (npm, semantic-ui,streams,momentjs). I tried asking the original author of the code but he needs time to look into it.
So I thought I would ask the community. Any ideas?
Thanks for your help
During the package migration to 0.9, many packages were automatically migrated under the mrt user. Thus, meteor add mrt:<package> might work.
The best way to find the package you're looking for is to search for it on Atmoshpere, e.g. https://atmospherejs.com/?q=semantic, https://atmospherejs.com/?q=moment etc.
So your install instructions should become:
meteor add nooitaf:semantic-ui meteorhacks:npm arunoda:streams mrt:moment
Note that Arunoda is no longer maintaining streams, so you might want to look for an alternative.
locate the package here
or by typing:
meteor search semantic
meteor search moment etc...
more information regarding this matter: here
Related
right now I have the Meteor accounts-password and joshowens:accounts-entry packages installed. My app is currently using the joshowens:accounts-entry, but is not compatible with Meteor 1.2 so I want to switch the accounts system back to the standard Meteor accounts-password package. Does anyone know how to do this? Do I just uninstall joshowens:accounts-entry and it'll default to Meteor accounts-password?
Thanks!!
Hi!
To remove a package, we use:
$ meteor remove <package_name>
So, to remove joshowens:accounts-entry:
$ meteor remove joshowens:accounts-entry
For more, refer the relevant docs.
Hope this helps.
There isn't a clear guide on how to install Phantom for Meteor, so I decided to ask a question to clarify things.
Do you have to install phantom binary in /usr/local/bin/? I downloaded a compiled phantomjs from the official website and placed inside the above path. I can run phantomjs from anywhere now because it's added to path.
In addition to 1, do you also have to install it from meteor npm? I followed this to install "phantomjs": "1.9.13" as a npm package inside my Meteor app. It gets confusing from here because the binary from the official website is v2.0.0 while the npm package is 1.9.13. Do I need to install both?
Because of the confusion in 2, I removed /usr/local/bin/phantomjs but then I can't run $phantomjs anywhere because I don't have anything in PATH.
My ultimate goal is to get spiderable working. What should I do?
Okay, the problem was the compiled phantomjs binary from the official webpage cannot be used right away in the latest Mac OS, but you have to unpack it first. To run spiderable package you don't need to do anything other than placing the binary file phantomjs inside your local path /usr/bin/local/. You can test this by running $phantomjs in your terminal. If you see phantomjs not found then you haven't installed it. If you see an error killed 9 then you have the same problem as mine, and you can solve it by following this.
You do not need the meteorhacks:npm package.
You can do this in two ways:
Method 1:
If you'd like to be able to use PhantomJS via your Meteor app, you would need to use the Meteorhacks NPM package and use the latest NPM version 1.9.16 I believe.
After that, you can edit your packages.json file to add "phantomjs": "1.9.16", and then reference it via var phantomjs = Meteor.npmRequire('phantomjs');
Method 2:
Alternatively, you can use the smart package for Meteor PhantomJS and give that a shot.
I personally feel like Method 1 is a better option, as that worked for me. I needed PhantomJS for an app, and that solution worked for me. I haven't tried Method 2 so I can't speak for it, but it looks promising as well.
Give them a shot, and let me know how it goes. Hope that helps!
Here is a phantomjs wrapper package from atmosphere: https://atmospherejs.com/gadicohen/phantomjs
More importantly here is the spiderable package:
https://atmospherejs.com/meteor/spiderable
I couldn't really answer the questions but more so point ya in a direction that I hope will solve your problem :)
In the terminal:
$ meteor npm install --save phantomjs
In your_meteor_app/server/main.js file (or wherever, provided it's server-side)
import phantom from 'phantom'
Just use npm:
//Global effect on your machine
npm install -g phantomjs
//Test if installed
npm list -g
//Test spiderable working correctly
Test spiderable
I'm developing a Meteor app that isn't yet in production, so I can afford to move quickly when adopting new package versions (useraccounts had a significant version bump a few hours after I'd integrated it, for instance.) This was what I thought meteor update was meant to accomplish. Yet when I run:
meteor update
from my project, I'm told that packages were updated but .meteor/versions remains unchanged.
I can upgrade the package by running meteor add someone:package#whatever, but this just shuffles the version dependency from .meteor/versions to .meteor/packages even though it seems to do the upgrade. I'm happy to lock versions down when I go to production, but it seems like in development I should be able to use the update command, especially as meteor list indicates that as a next step.
I've managed to upgrade all my packages by removing .meteor/versions and .meteor/local and running meteor update, but this seems messy.
I also found this issue but it was closed. Should it be reopened or should I open a new issue? I understand how semver works, but I think the issue is that Meteor isn't writing its constraint solver results to .meteor/versions so doesn't realize that package updates have been applied. Is that accurate or am I just misunderstanding something?
now u can simply do
meteor update --all-packages
Expanding on previous answers, you can update all packages with this:
grep -ve '^#' .meteor/packages | xargs meteor update
For the time being it looks like that you have 2 options for packages which have updates you wish to use:
remove and add the package of concern via meteor remove provider:package_name and meteor add provider:package_name
update packages with their specific version manually via meteor add provider:package_name#X.X.X
Meteor won't update packages unless you remove and add them #2500
You can also use meteor update provider:package_name
Easiest way is to delete the contents of .meteor/versions and then save. Next time you run meteor it will update all packages to the latest version.
Just tiny addition to #Meteorpoly answer:
You can also edit package version in .meteor/versions file manually and meteor will pick it up on next/current run
From Meteor docs: meteor update --packages-only
This command will update all the packages which are not built locally, has an update available and is also compatible with the meteor version you are using.
It seems that now
meteor update
is enough to update all packages
lets assume you wish to keep your meteor at your current release then issue
meteor --release foo update --all-packages
where foo indicates your current meteor release ... you can identify your release by looking at file
cat .meteor/release
which for me has content of
METEOR#1.10.2
so my current meteor release is 1.10.2 ... to leave alone my current meteor release yet upgrade all packages to match my release 1.10.2 then command is
meteor --release 1.10.2 update --all-packages
alternatively if you wish to fully upgrade to both latest meteor release AND that release's package upgrades then issue
meteor update --all-packages
I used packagecheck. It analyzed the project, showed me available updates and assisted the general update.
$ npm install -g packagecheck
$ packagecheck
How do I find out what is holding my app up from updating? I keep getting the 'This project is at the latest release which is compatible with your current package constraints.' message.
Here is the output from the update command:
Refreshing package metadata. This may take a moment.
Figuring out the best package versions to use. This may take a moment.
Figuring out the best package versions to use. This may take a moment.
Figuring out the best package versions to use. This may take a moment.
This project is at the latest release which is compatible with your
current package constraints.
My packages.js looks like so:
# Meteor packages used by this project, one per line.
#
# 'meteor add' and 'meteor remove' will edit this file for you,
# but you can also edit it by hand.
accounts-base
accounts-password
alanning:roles#=1.2.9
arunoda:npm#0.2.6
ch-activity
ch-activityreport
ch-arrestreport
ch-assetreport
ch-citation
ch-fieldinterviewreport
ch-incidentreport
ch-inspectionreport
ch-location
ch-media
ch-narrative
ch-organization
ch-person
ch-property
ch-signature
ch-vehicle
cmather:iron-router#0.8.2
coffeescript
copleykj:mesosphere#0.1.9
d3
dash-patrol
email
less
mizzao:bootboxjs#4.2.1-master.1
mrt:accounts-ui-bootstrap-3#=0.3.3
mrt:leaflet#0.3.8
mrt:mongo-counter#1.1.0
notices
sacha:spin#2.0.4
standard-app-packages
tsega:bootstrap3-datetimepicker#=0.2.0
I have migrated all the ch-* and dash-* packages to the new format. Those are local, in app, packages. Those cannot be in public repositories.
Try replacing
cmather:iron-router#0.8.2
with
iron:router#0.9.1
in your packages file.
I'm think it may be because not all your packages are compatible with Meteor 0.9.0
If you want to check what packages are currently compatible enter this code:
meteor search (Package Name)
By default meteor will only return compatible packages, so you can find which packages aren't working by searching each one. If you can't find the package, then its probably not compatible and you aren't going to be able to run the latest version of Meteor unless you remove it.
Don't worry though! While Meteor 0.9.0 is quite buggy, they are working hard to update all the packages and patch the bugs. Just give it a few weeks to sort itself out if that doesn't work :)
Best Of Luck! Hope This Helped!
Meteor search is included in the latest release. Docs: http://docs.meteor.com/#meteorsearch
Try running this command and you should be able to access meteor search
meteor update
Also, the update should tell you if there's a package update available, although I had to run update (packagename) on each starred package for it to update
meteor update aldeed:collection2
I found that I had to remove my ~/.npm directory and run meteor again to resolve some npm dependencies I had. Perhaps you have some npm dependencies as well?
I'm trying to update to the version 0.6.2, but when I insert mrt update iron-router in the command line I receive this alert:
Problem installing iron-router
✘ [0.6.1] conflicts with [0.6.2]
Can't resolve dependencies! Use --force if you don't mind mrt taking a wild guess and running your app anyway.
Am I doing something wrong?
Thanks in advance.
You could try a fresh installation:
meteor remove iron-router
rm -rf packages/iron-router
mrt update
meteor add iron-router
Also make sure you're using the latest version of meteorite
sudo -H npm install meteorite
It seems that one of the other smart packages you are using explicitly depends on a different version of Iron Router. Based on the smart.json packages that you posted, accounts-entry depends on 0.6.1 and I'm guessing you are manually depending on iron router 0.6.2 in your main app.
The best course of action is to probably change the version in accounts-entry (it will probably not break anything, as 0.6.1 to 0.6.2 was just bug fixes) and possibly submit a pull request for that as well.
Had a Similar problem.
Go to you app directory, open meteor, then open packages and you will see
iron-router
inside the file listed as a meteor package.
Then go to the terminal and
cd yourApp
meteor add iron:router
for me that added the 1x version and solved many of my errors.
Hope it works!