Comments (5)
Except that drawbridge doesn't require 1.1.0
. I suspect you are aiming to use some version of ring >= to that, but drawbridge's lower dependency is (unfortunately) overriding it.
This same problem will occur when using any library that doesn't require a newer version of ring, because ring itself only specifies a "soft" version number dependency on ring-core. If that were changed to e.g. [ring/ring-core "[1.1.0,)"]
(meaning, that ring v1.1.0
requires 1.1.0
or higher of ring-core), then drawbridge's lower version dependency would not countermand that.
Maybe this is something @weavejester would consider for future releases?
from drawbridge.
I tend to steer clear of version ranges for these reasons.
from drawbridge.
Like most "X considered harmful" sorts of posts, some subtleties and certain circumstances that are glossed over. Version ranges are sometimes indispensable.
@ccfontes I would suggest changing your ring dependency(ies) to a version that sets 1.1.0
as a hard lower bound, instead of the "soft" version number I presume you have set currently.
from drawbridge.
There may be rare circumstances where version ranges are useful, but in general I find they're more trouble than they're worth. For example, if [ring "1.1.0"]
had a dependency of [ring/ring.core "[1.1.0,)"]
, then it would depend on the latest snapshot of Ring, which might be incompatible with 1.1.0 (e.g. a hypothetical [ring/ring.core "2.0.0-SNAPSHOT"]
)
In general it's best to stick with soft version numbers, and to remember that the closer dependencies take priority over the latter ones. This can cause problems, but they can be resolved by specifying explicit dependencies in your project file. Problems with version ranges, particularly hard ones, are not so easily to resolve.
from drawbridge.
Using [com.cemerick/drawbridge "$VERSION" :exclusions [ring/ring-core]]
will have to be the "official" workaround until something can be done to smooth this general problem over in Leiningen (see cemerick/friend#15 for another example).
from drawbridge.
Related Issues (20)
- Please sign artifacts HOT 2
- Confusing homepage statement. Is drawbridge obsolete? HOT 2
- How can I use `cider-jack-in` when using `drawbridge`? HOT 1
- Project dependencies are a bit old HOT 2
- Failure connecting over https HOT 12
- Transfer to the new nREPL GitHub organization HOT 3
- Create some unit tests HOT 1
- Connection issues referencing cemerick/drawbridge/client HOT 15
- How to use Drawbridge from Cursive? HOT 2
- How to use Drawbridge from CIDER / emacs? HOT 5
- Connecting to a Drawbridge Ring handler fails with ArityException HOT 14
- Request: Add authentication for client side HOT 12
- Switch CI to CircleCI
- Fails with "java.net.Socket cannot be cast to class java.lang.String" HOT 9
- connect on https gets 'SSLException Unrecognized SSL message, plaintext connection?' HOT 1
- IllegalArgumentException Cannot open <nil> as a Reader. HOT 1
- connection fails with status 401: Is Drawbridge not promoting to HTTPS properly? HOT 3
- [Feature Req] Websocket transport (or http2) HOT 2
- SocketException Connection reset
- How to use drawbridge with embedded nREPL server? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from drawbridge.