|
|
|
|
|
by raziel2p
2802 days ago
|
|
There's going to be a large group of people (myself included) who graps the system but refuses to use it because it's pointless and stupid. > It's always obvious where your dependencies are located and which versions are going to be used to build your project. More obvious than specifying the version in some dependencies file? > Even better, it lets use very easily drop into those dependencies and add minor changes or debugging lines if you need to. What dependency management system doesn't allow you to do this if you insist? |
|
I have nothing against dependency files, but yes, it's probably even more obvious.
If I see an `import "github.com/x/y"` at the top of a Go file, I know that I can go find the source for that at `cd $GOPATH/src/github.com/x/y` (unless the project has a `vendor` directory in which case you'll look in there instead).
> What dependency management system doesn't allow you to do this if you insist?
I'm sure you could do it on anything, but Go makes it very easy.
As noted upthread, it's pretty simple to do this in other languages like Ruby when you're using Bundler and know the system well (e.g., `pushd $(bundle show excon)`), but in many languages it's much more difficult. You'd need to go chase down the source, download it, then redirect your dependency to point to it. Sometimes you'll grabbed a newer version that's no longer compatible so you'll have to make sure to work off of the right tag.
In bad cases (e.g., C, Java) you'd have to learn how to build the project which might not be trivial because tooling isn't standardized or convenient to use.