I have a nodejs project using yarn as the package manager. The project includes a library (Library A), which has a dependency on Library B. Library B has a dependency on a Ruby Gem.
I am trying to figure out how to update the version of the Ruby Gem.
I tried updating Library B to its latest versions in the package.json file using a resolution tag, but I still can’t get the version of the Ruby Gem I need. Is there a way to update Ruby gems that are nested dependencies? Maybe something equivalent to the “resolutions” tag?
Thanks!
Related
I currently have a dockerfile which installs python libraries in the container which i eventually use to execute code. Now for every release , I need to add or update the dependencies , which results in rebuilding the image.
The issue is while rebuilding many internal transitive libraries create version issues which effects my functionality , for eg some library can bring in a new numpy library version which can cause issues in the code.
How should I handle this problem ? Should I create a new base image for every release and update it in dockerfile ?
Edit : Caching does not help me , because the moment my requirement.txt file change , rebuild will happen.
Also , I cant specify versions for all libraries. Transitive libraries are a challenge here.
This is not related to Docker. You can either pin the package version in requirement.txt or use Poetry to manage the dependencies. Poetry uses a lock file which makes sure the proper version is installed for all the dependencies.
Is there any way to find the best match with the dependencies, for example I am using Angular v5.2.0, with some other dependencies I find some issues, now I want to find the dependencies that work with v5.2.0, for that I have search but no success.
Is there any website or source where we can easily get this?
i would run npm ls which lists all the installed packages with their dependencies (and also their versions) in a tree-structure (dependency tree). There you can see which version of a dependency X is needed/used by Angular v5.2.0.
If you have used a newer version of X in your package.json where you had some issues with, you can downgrade this version to the version which is actually used by Angular v5.2.0.
FYI, I'm quite new to Python and it's packaging and dependency tools seem confusing.
I am going to be writing series of Python packages that support Dags running in Apache Airflow. As these packages share some common functionality I want to extract the commonalities out into separate supporting modules. In turn, these supporting modules will rely on at least two other supporting modules. All of the modules/packages in question will be published as source distributions on an internal repository.
Is there a way for me to install the main packages such that all of the direct and indirect dependencies are installed from the private repo?
I have made use of install_requires in setup.py to install modules available via Pypi and it seems like I could do something like this to achieve my goals, however this seems like it could get messy when I need to update say the version of the indirect dependencies. Is there a better way that I can handle this? Would adding the dependencies to requirements.txt with an --extra-index argument be a valid approach?
The hierarchy of dependencies can be represented loosely as:
MainPackage
-> SupportingPackage
-> CommonUtilites
It is possible to use a git repository as a Python package source.
Just add git+{REPO_LINK}#{TAG_OR_SHA1} in requirements.txt and just pip install -r requirements.txt.
See How to add git source in requirements.txt.
I have a nodejs package I wish to use - "redis-connect". This is dependent on "hiredis" but seems to be locked at 0.1.7 which does not compile. I am using 7.2.0 nodejs with npm 4.0.3 - problem with node-gyp rebuild. However, hiredis#0.5.0 compiles fine and installs. What's best practise for fixing this dependency so I can install and use redis-connect with hiredis#0.5.0?
There is no "best practice" for something like this. You just have to submit a pull request to the project and convince the maintainer to accept the PR and publish a new version afterwards.
Otherwise you will need to just fork the project and reference that fork (instead of the original project by its name on npm) in your dependencies.
In my angular-meteor project, I opted for using meteor's bootstrap package nemo64:bootstrap, for it's easy customization of the original bootstrap settings. However, when installing another meteor package for easy html text editor, the fraywing:text-angular..
When installed, the text-angular package installs twbs:bootstrap, which is another package to handle bootstrap, and this breaks most of my bootstrap javascript functions, because of the double call all of them recieve (one from the nemo64 and another form the twbs)..
I figured I could just uninstall the twbs:bootstrap package via meteor remove twbs:bootstrap but the command fails due to the package haven't been installed, because it comes bundled with the fraywing:text-angular package.
Is there any way I can remove that dependecy from text-angular, as I'm using nemo64's bootstrap package.
Thanks in advance.
This is the package list from meteor:
accounts-password 1.1.4 Password support for accounts
angular 1.3.5* Everything you need to use AngularJS in your Meteor app
angular:angular-sanitize 1.5.0 AngularJS (official) release. For full solution: http://angular-meteor.com/
angularui:angular-ui-router 0.2.15 angular-ui-router (official): Flexible routing with nested views in AngularJS
check 1.1.0 Check whether a value matches a pattern
email 1.0.8 Send email messages
es5-shim 4.1.14 Shims and polyfills to improve ECMAScript 5 support
fortawesome:fontawesome 4.5.0 Font Awesome (official): 500+ scalable vector icons, customizable via CSS, Retina friendly
fraywing:text-angular 1.3.11 A radically powerful Text-Editor/Wysiwyg editor for Angular.js!
jquery 1.11.4 Manipulate the DOM using CSS selectors
less 2.5.1 Leaner CSS language
meteor-base 1.0.1 Packages that every Meteor app needs
mobile-experience 1.0.1 Packages for a great mobile user experience
mongo 1.1.3 Adaptor for using MongoDB and Minimongo over DDP
mquandalle:bower 1.5.2_1 Use Bower packages in your Meteor app
natestrauser:animate-css 3.4.0 Animate.css packaged for meteor
nemo64:bootstrap 3.3.5_2 Highly configurable bootstrap integration.
session 1.1.1 Session variable
standard-minifiers 1.0.2 Standard minifiers used with Meteor apps by default.
timmyg:wow 1.0.1 WOW css animations
tmeasday:publish-counts 0.7.3 Publish the count of a cursor, in real time
tracker 1.0.9 Dependency tracker to allow reactive callbacks
urigo:angular-blaze-template 0.3.0 Include Blaze templates in your angular-meteor application.
You can copy the package locally and modify it: create a packages folder in root folder, clone the fraywing package into it from github then modify its dependencies in package.js to use the nemo package instead of twbs.
Meteor will automatically use your local packages over the one from the repository, the list command should show a little star next to the fraywing package to indicate it has picked up the local one. This would however mean the package would not update to the latest version with meteor update...