Error when adding package accounts-ui-bootstrap-dropdown - meteor

I'm trying to add a package to a meteor project using meteorite using the command:
mrt add accounts-ui-bootstrap-dropdown
And the command shows me this error:
tag: https://github.com/erobit/meteor-accounts-ui-bootstrap-dropdown.git#v0.1.5
fs.js:730
return binding.symlink(preprocessSymlinkDestination(destination, type),
^
Error: ENOTDIR, not a directory '/Users/arturcarvalho/projects/effinlist/.meteor/packages/accounts-ui-bootstrap-dropdown'
at Object.fs.symlinkSync (fs.js:730:18)
at /usr/local/lib/node_modules/meteorite/lib/dependencies/package.js:129:10
at /usr/local/lib/node_modules/meteorite/lib/sources/git.js:75:15
at GitSource._load (/usr/local/lib/node_modules/meteorite/lib/sources/git.js:120:12)
at /usr/local/lib/node_modules/meteorite/lib/sources/git.js:73:18
at /usr/local/lib/node_modules/meteorite/lib/sources/git.js:89:5
at /usr/local/lib/node_modules/meteorite/lib/sources/git.js:216:5
at ChildProcess.exithandler (child_process.js:635:7)
at ChildProcess.EventEmitter.emit (events.js:98:17)
at maybeClose (child_process.js:735:16)
If I run mrt list after this, it shows me the following error:
While building package `accounts-ui-bootstrap-dropdown`:
error: no such package: 'accounts-urls'
I can't uninstall the package and tried to reinstall meteorite but no luck. Could somebody help me with this? I'm using Max OS X.
Thanks!

are you on Meteor 0.6.5?
if so it's because the package hasn't been updated yet to work with that version, there was a lot of api changes in the way you format your package.js file and most packages on meteorite haven't been updated to adhere to the new style yet so they all break.
Recommendation:
1 Use this command to downgrade and wait a few weeks until atmosphere packages get corrected
"The way to downgrade is:
$ meteor update --release 0.6.4.1
... but that won't actually undo the other change that updating your
app to 0.6.5 did. So you'll also want to edit your ".meteor/packages"
file and remove the line "standard-app-packages". "
2 Send a PR to the package creator with an updated package.js file adhering to the api rules listed here
https://github.com/meteor/meteor/blob/devel/History.md
File that needs to be updated:
https://github.com/erobit/meteor-accounts-ui-bootstrap-dropdown/blob/master/package.js

The package has been updated on atmosphere to support the latest meteor release v0.6.5. If you are running latest meteor, you should be able to simply remove and re-add the package.
mrt remove accounts-ui-bootstrap-dropdown
mrt add accounts-ui-bootstrap-dropdown
Note: Refer to the readme on the github project page at the url below, as I have updated the installation instructions with more details.
https://github.com/erobit/meteor-accounts-ui-bootstrap-dropdown/blob/master/README.md

Can you try add 'accounts-urls' first?

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.3 node build: doesn't work anymore with React

With 1.2.*, I used to build my staging/production bundles with meteor build, then moving into ./bundle/programs/server and npm install there.
I do the same thing with 1.3 version but now I have error message on trying to run bundle main file with node:
WARNING: npm peer requirements not installed:
- react#0.14.x not installed.
- react-addons-pure-render-mixin#0.14.x not installed.
Read more about installing npm peer dependencies:
http://guide.meteor.com/using-packages.html#peer-npm-dependencies
/var/www/builds/1459320997/bundle/programs/server/node_modules/fibers/future.js:267
throw(ex);
^
Error: Can't find npm module 'react'. Did you forget to call 'Npm.depends' in package.js within the 'modules-runtime' package?
I use react-meteor-data meteor package.
However, I already have "react": "^0.14.8", and "react-addons-linked-state-mixin": "^0.14.8", in my package.json and of course installed it with npm install ... --save and it is working fine on development environment when I use meteor command.
Any additional actions needed to run it? Did they change how meteor package should be build for production and didn't changed their docs? (because I don't see any changes in docs concerning meteor build so far.
Update: I tried to manually npm install these packages into ./bundle/program/server. Now they consequentially requires packages already listed in my package.json. I suppose Meteor just ignore this file on bundle. Will try to add a bug in their tracker.
I used Meteor 1.2 to build new 1.3 code so it is the issue. It happened because currently I build on the server that had another Meteor version.
I used answer from another Stackoverflow user (Ian) Updating all Meteor packages to latest versions
Easiest way is to delete the contents of .meteor/versions and then save

Error while installing natural node in meteor project

I am working on a meteor project. Have to use natural package for natural language facility. I installed that using 'npm install natural'. But when ran the project, got error as 'ReferenceError: require is not defined'.
Added this line: var abc=Meteor.require('natural'); in the file in which have to use it. But when I am running the project, it is showing error as:=> Started proxy.
=> Meteor 0.8.1.3 is available. Update this project with 'meteor update'.
=> Started MongoDB.
=> Errors prevented startup:
While building package `router`:
error: no such package: 'page-js-ie-support'
error: no such package: 'HTML5-History-API'
-- When tried to install the above listed missing packages, showing error as:
smart.json changed.. installing from smart.json, I got the following error after successfully installing various packages like natural, iron-router, paginated-subscription, router, accounts-ui-bootstrap-dropdown, spin. But after that showing following error. Why so?
/usr/local/lib/node_modules/meteorite/lib/dependencies/package.js:106
throw('Could not locate package.js within path ' + self.source.packagePa
^
Could not locate package.js within path /home/priya/.meteorite/packages/natural/NaturalNode/natural/d541ca394659521498ed36a7f6e03fef93163e53
-- The packages in my project are: I don't understand here as router package is already listed then why showing error while running the project.??
meteor list --using
standard-app-packages
bootstrap
router
accounts-ui-bootstrap-dropdown
accounts-password
spin
paginated-subscription
email
insecure
iron-router
npm
Please guide me in this direction. This error is becoming a recursive kind of error. Have broke my head in this problem but still stuck. Thanks in advance
You have a package called Natural (not sure which) which isn't built to the correct packages specifications or has been modified somehow.
This can't be fixed that easily, you would have to contact the author of the package to fix it or modify it yourself. I can't find NaturalNode on atmosphere so its likely a custom package.
You might want to make the rest of your app work to debug fixing it though. To do that you need to remove this package
Remove the files and folders in ~/.meteorite/packages
Look through your packages smart.json and remove the offending package (natural). and run mrt update. And remove the rest of the code in your app relating to natural that might stop your app booting up.
From what it looks like you've cloned https://github.com/NaturalNode/natural into meteorite somehow. You would have to look at how to build a package for meteor.
The files you have used are an npm module and don't just work with meteor if you copy the files in. You have to make a compatible meteorite package for it to work. Or use meteor-npm to use the npm module in your app directly.
This project may also help you get started as an example of how to make a wrapper for an npm module to use with meteor

Meteor packages almost always fail to install

My experience with meteor has always been the same: a few packages install with mrt add but most of them exit with some error.
Errors such as
Template names shouldn't contain '.' or '/'
Parse error: ... {{> yield region='menu'}}
There was a problem checking out tag: v0.6.1
error: File not found: lib/moment/moment.js
Parse error: ... afFieldMessage name=field autoform=../.
These were some of the errors I was presented with when I just now tried to do mrt add with houston, ogno-admin, autoform, tabs, issues, and wizard.
I realize this is a vague question, but what am I doing wrong?
Do other people have this experiene with meteor? It would be a really easy way to build lots of different apps if only it worked at all!
Meteorite is wonky sometimes. If you are seeing random errors like this, you may want to follow the cleanup instructions for Meteorite, and make sure you are using the latest version. The moment error you're seeing above happens, for example, when Meteorite fails to check out the git submodule in meteor-moment.
Make sure you're up to date.
sudo -H npm update -g meteorite
Then, quoted from Meteorite troubleshooting:
mrt uninstall
mrt uninstall --system
mrt install .
One other thing, mentioned in the comments, is that unmaintained packages that use the UI will very likely be broken in Meteor 0.8. So don't confuse that with Meteorite errors.

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