Cannot search meteor packages in iron-cli project - meteor

I have a meteor iron app I generated. In the eventedmind screencast the instructor searches packages with iron search ^accounts to see all meteor packages. When I run that though
$ iron search ^accounts
> meteor search app bin build config readme.md
How can I search for meteor packages with the iron command line tool? I'm using iron-meteor version 1.1.2

you don't need iron to search meteor packages. Use meteor search:
meteor search sometext

Related

aldeed:collection2 not working with iron cli

I am new to meteor iron and I am trying to install aldeed collection2 but the app is crushing
W20190215-12:44:48.023(2)? (STDERR) WARNING: npm peer requirements (for aldeed:collection2) not installed:
W20190215-12:44:48.024(2)? (STDERR) - simpl-schema#>=0.0.0 not installed.
I have tried to install simple-schema but nothing is working.
meteor npm install simpl-schema --save
I have also removed and reinstalled collection2 but I still get the same error. What is it that I am missing?
I tried to reproduce the error with a new created repo, that contains the dependencies you have listed but everything runs fine on my side.
However, I found, thataldeed:collection2-core is now somewhat deprecated and being merged back into aldeed:collection2 as you can read in the project repository on GitHub:
MPORTANT: This package has been merged back into aldeed:collection2 as version 3.0.0 of that package. Refer to https://github.com/aldeed/meteor-collection2/blob/master/CHANGELOG.md#300
Create issues and PRs in the other repo going forward: https://github.com/aldeed/meteor-collection2/issues
Issues remain enabled on this repo for reference to existing issues only.
So a good first step would be to remove the deprecated package and install the updated one:
meteor remove aldeed:collection2-core
meteor add aldeed:collection2
If you want to start from a new clean project you can reproduce these steps to get to a running starting point here:
meteor create someprojectname
cd someprojectname
meteor add iron:router twbs:bootstrap aldeed:autoform aldeed:collection2
meteor npm install --save iron simpl-schema
meteor
The project will start without errors. From here you can start including your former code and see if the error will come back (which is then likely to be an issue inside your code) or not.
Important note on twbs:bootstrap:
The package twbs:bootstrap is using an old version (3.3.6) which is considered to contain several security vulnerabilities (read here and here).
If you want to use the latest Bootstrap you may rather install bootstrap using npm like so:
meteor remove twbs:bootstrap
meteor npm install --save bootstrap#latest jquery#latest popper.js#latest
You need jquery here, too because Meteor does not contain the required version and popper.js handles the Popover, Modal etc.
To include it in your code you need to add these lines to your client code:
import 'bootstrap'
import popper from 'popper.js'
global.Popper = popper
To use Bootstrap 4 with AutoForm you can install imajus:autoform-bootstrap4 (repo) and add the following to your client code:
AutoForm.setDefaultTemplate('bootstrap4')

Meteor 1.6 Coffeescript: reserved word 'import'

i`m using Meteor 1.6. with coffeescript package and when i use 'import' to import npm package, i have this error.
Errors prevented startup:
While processing files with coffeescript (for target web.browser):
client/pages/list/itemsList.coffee:1:1: reserved word 'import'
Here my packages file:
meteor-base#1.3.0 # Packages every Meteor app needs to have
mobile-experience#1.0.5 # Packages for a great mobile UX
mongo#1.4.2 # The database Meteor supports right now
blaze-html-templates#1.0.4 # Compile .html files into Meteor Blaze views
reactive-var#1.0.11 # Reactive variable for tracker
tracker#1.1.3 # Meteor's client-side reactive programming library
coffeescript
dynamic-import
standard-minifier-css#1.4.0 # CSS minifier run for production mode
standard-minifier-js#2.3.1 # JS minifier run for production mode
es5-shim#4.7.0 # ECMAScript 5 compatibility for older browsers
shell-server#0.3.1 # Server-side component of the `meteor shell` command
ecmascript
check
ejson
jquery
less
random
rate-limit
yasaricli:slugify
kadira:flow-router
kadira:blaze-layout
momentjs:moment
accounts-base
accounts-ui
accounts-password
service-configuration
accounts-facebook
session
http
email
patrickml:swal
raix:handlebar-helpers
ostrio:files
ethereum:web3
tap:i18n
meteorhacks:ssr
Please, help. I don`t know what to do.. I have latest updated coffeescript and ecmascript packages.
Update:
after meteor update i have this result
The following top-level dependencies were not updated to the very latest
version available:
* coffeescript 1.0.17 (2.2.1_1 is available)
Solved:
This is due to the package tap:i18n it has in the dependencies is such a version of coffeescript
You also need the modules package.
meteor add modules

Installing Cordova plugin to meteor project using a github tarball link

I'm trying to install a package to my meteor project using a repository in github.
The only way Meteor allow me to install it is using a "tarball" specific link like this:
https://github.com/Wizcorp/phonegap-facebook-plugin/tarball/d8b0f6935a7c6e586188bf85f9da88a1c160790b
Although, the package version referenced in the link is not the one I need (I got that link from an old support post).
Could someone explain me how to obtain that type of link (tarball) from this repository and version (0.12.0)?
https://github.com/Wizcorp/phonegap-facebook-plugin/releases/tag/v0.12.0
So far I have tried:
Copy the tar.gz download link of the right version and running:
meteor add cordova:com.phonegap.plugins.facebookconnect#https://github.com/aogilvie/phonegap-facebook-plugin/archive/0.6.0.tar.gz
Result: "Meteor requires either an exact version, a Git URL with a SHA
reference"
Installing it using the version number:
meteor add cordova:com.phonegap.plugins.facebookconnect#0.12.0
Result: I got "Package installed" but when run ios-device I got the error:
"Failed to fetch plugin com.phonegap.plugins.facebookconnect#0.12.0 via registry".
Downloading the zip file, unzip and put folder in packages folder.
Result: Is not working because is not a package.js inside the folder.
Thanks in advance
You are actually trying to add a Cordova plugin (meteor add cordova:...), not a Meteor package.
Therefore, your trial 3 (local package / plugin) needs a similar meteor add cordova:your-plugin-name#file://packages/folder-to-local-cordova-plugin instead of a meteor add package-name (which will look for a package.js file).
Trial 2 (version number) works only for published plugins.
You should stick with your trial 1 but you have to specify the commit hash (git endpoint + # + commit hash) instead of the tarball link:
meteor add cordova:com.phonegap.plugins.facebookconnect#https://github.com/Wizcorp/phonegap-facebook-plugin.git#c0f8da97a1d65397ada73e958dafed3aeef2e491
See Meteor Guide > Build > Mobile > Native features with Cordova plugins > Installing plugins > Installing a plugin from Git

Where does meteor stores its packages?

I have a meteor 1.0 app. I've added a bunch of packages, for example: meteor add kevohagan:ramda. But I cannot find it anywhere. I can't even find it on my system.
In my project:
$> meteor list
kevohagan:ramda 0.1.2 A practical functional library for Javascript programmers.
meteor-platform 1.2.0 Include a standard set of Meteor packages in your app
...
$> ls packages
ls: packages: No such file or directory
$> mdfind ramda.js # file added by the package
# no results
Where are they ?
If you add a package via meteor add author:pkg it will be added to the meteor installation (e.g. ~/.meteor/packages); here you can find different versions of the package. In your project home, the package name will be added to the .meteor/packages file.
Later, if run your project, the package will be added to the build directory (and of course only one version can be found here).
I think that they all are in
.meteor/local/build/programs/server/packages
but they are ninified, and the file names are changed, like "kevohagan_ramda.js" or "meteor-platform.js"
If you check out your project folder then you'll find two 'packages' folders. One at the root of your project and the other deep down inside .meteor. Below I've listed both of them.
.meteor/packages //this consist of the packages that you built yourself or other top-level packages like spinner & iron:router
.meteor/local/build/programs/server/packages //other packages

Iron Router doesn't update

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!

Resources