I understand meteor has their own package manager under the covers (that way meteor deploy works to include the packages) but I'm looking for a package manager for meteor. By package manager, i'm looking for like bundler/gemfile (ruby) or maven/pom file (java).
Again I understand the meteor install works fine, but I want to define my own "private" packages as well as have a file to put the package declarations in so when I go to update I can do it easily.
I saw meteorite, but I also read where as of meteor 0.9.0 it is no longer needed.
Thanks!
EDIT:
so for example, in ruby you have the bundler gem which has a gemfile. in the gemfile you put
source 'https://rubygems.org'
gem '<gem_name>','<gem_version>'
gem '<gem_name>','<gem_version>'
and anytime you want to install all the dependencies on a new machine you just run bundle install and it installs the dependencies into the new machine.
I want to do something similar in meteor. example: I have a meteor project that takes the karma and angular-meteor packages (as well as a couple private packages in a bitbucket repo).
so in a gemfile, it would look something like this
source 'http://<atmosphere_url>'
package 'uringo:angular','0.8.8'
package 'sanjo:karma','1.5.1'
source 'https://<my_bit_bucket_repo'>'
package 'name:package1','0.0.1'
package 'name:package2','0.0.1'
and then I just need the command to run the package manager to install the different packages.
It looks like I have to keep packages with the code. So in the top level directory, there's the package folder and all my internal packages for the project will need to live there. Then I just modify the .meteor/project file to include which packages I want in that build. Then when I launch meteor then even though there are many packages in my /packages folder, only the packages in the .meteor/project file will be included.
In addition to the packages in the official Meteor release being used by your app, meteor list and meteor add also search the packages directory at the top of your app. You can also use the packages directory to break your app into subpackages for your convenience, or to test packages that you might want to publish. See Writing Packages. -- http://docs.meteor.com/#/full/usingpackages
so this means just because the package is included in the /packages directory within the project, doesn't mean the project is actually 'using' the package.
Related
I want to test the potential function of the collective maintenance of the R scripts across individuals. I try to work on Rstudio project together with the Could software eg. Dropbox and the version control (eg. Git), so we can have all the records of all the updates from different maintainers. Therefore, I try to test the new released R package renv.
On my Mac OS, my newly installed packages are available in the 1st directory as I listed below.
.libPaths()
## [1] "/Library/Frameworks/R.framework/Versions/library"
## [2] "/Library/Frameworks/R.framework/Versions/3.6/Resources/library"
However when I start the renv with the renv::init(). It only has the basic packages available. How can I move these installed packages into the global cache directly without the need to reinstall these pacakges?
You can simply call renv::install() (or renv::restore()) and renv will find packages already installed in the cache. It's possible because all the projects using renv share the global package cache, therefore, the project libraries are composed by symlinks associated to the global package cache.
In case that renv global package cache and the project library are installed in different disk volumes, renv will copy the package from the cache into the project library, instead of using a symlink.
In macOS, the default location of renv global packages caches is: ~/Library/Application Support/renv.
All the information was extracted from the following link: https://cran.r-project.org/web/packages/renv/vignettes/renv.html.
I hope it helps you. Good luck!
I tried to host a Meteor server from my Rasperry pi. Until now I was good to go with 4commerce build. I would like to use the CollectionsFS, which is not build for arm processors. I want to build the package myself and need some guidance on how to proceed. It seems like that I only need to build the npm package gridfs-stream
cfs:gridfs have no binaries, but it depends on two npm packages ("gridfs-stream" and "mongodb"), you need rebuild that packages.
due to CollectionFS Issue
Until now I tried to clone the gridfs-stream package and make the makefile, but it seems some important files are missing?
/bin/sh: 1: ./node_modules/mocha/bin/mocha: not found
So how do I compile the package?
Do I have to use the source from Github? Lastly when the package is compiled how will I include it within my Meteor dependencies?
I forked a meteor package on github at https://github.com/kfirufk/angular2-meteor-accounts-ui
now I want to install it on a meteor project that I have. there are tons of information on the net, some recommend using meteorite, others recommend using mgp... but all the information that i find is for very old version of meteor and nothing actually works!
any information regarding the issue would be greatly appreciated.
update
I created packages directory inside the root directory and cloned the github package to that directory.
I edited .meteor/packages file and added angular2-meteor-accounts-ui.
now when i run the meteor application i get the following error:
While selecting package versions:
error: unknown package in top-level dependencies:
angular2-meteor-accounts-ui
angular2-meteor-accounts-ui is the name of the package of the github project i cloned (in package.json).
If I understand the question correctly, this is the procedure I've done myself, and it works:
Stop the app
edit the packages file and add the package name of your git fork
clone your git fork inside the packages folder of your meteor project. When you start meteor, packages inside that folder take precedence over the Internet, so once it finds the package there, it will not check the one in atmospherejs for download.
Note: if you want the package to be part of your project code, just remove .git inside the package clone, and add the whole folder to your app repo.
I'm new to meteor. I just created an app and install bootstrap and iron-router via mrt.
When I look at the file structure, I can see iron-router but not bootstrap (I don't see all the other pre-installed packages either).
When I run the app, everything works fine though. But I need to see these packages to understand what's happening.
Thanks,
There are two types of packages in Meteor projects. 'official' packages and unsupported community packages (from atmospherejs.com)
The mrt package manager wasn't built by the Meteor Core development team (as of v0.8.1). The packages from atmosphere will be installed in /packages
The other packages which are officially part of Meteor are not visible here but they are used from ~/.meteor/packages. Alternatively you can browse the source of them here: https://github.com/meteor/meteor/tree/devel/packages.
Eventually meteorite and meteor will be merged. Even though Meteorite installs these community packages for you, it looks like when it is folded into meteor it will remain this way (installing into /packages).
So in short, the 'official' packages aren't installed in /packages because they are available in all meteor distributions, whereas the unsupported ones from atmosphere need to be downloaded for the project in question into /packages.
As Meteor 0.6.x introduced support of node packages, it is still not clear how to configure dependency to npm package for whole application. Lets say i need to 'require' some node package in the server code. How to make sure this package will be installed after app is deployed somewhere else?
It's easy enough to setup a package.json file in the root of your project.
You can find a cheatsheet here to help you set one up: http://package.json.nodejitsu.com/
Under dependencies you can specify your runtime deps.
They are installed using the $ npm install command or # npm -g install in case you wnat to install them on your system rather than local to the project.