Having to use the package manager at all to add packages and calling Pkg.add
an
seems excessive at best.
X = Pkg.add
.
It is the same in julia, it is Pkg.add
Having to use the package manager at all to add packages and calling Pkg.add
an
seems excessive at best.
X = Pkg.add
.
It is the same in julia, it is Pkg.add
You can pretty easily get back your previous behavior though, put
import Pkg
function Pkg_update()
pkgs = readlines(joinpath(homedir(), ".julia", "REQUIRE"))
Pkg.add(pkgs)
Pkg.update(pkgs)
end
into ~/.julia/config/startup.jl
and then move the REQUIRE
file to ~/.julia
.
Use Pkg_update()
.
Kristoffer, you seem to assume that I invented the use of REQUIRE. That is not so. That was whatever way to specify what packages I required howevermuch time ago I installed julia for the first time, and that was that. This approach worked without me having to do anything aside from creating a new v0.x directory with REQUIRE in it at any 0.x change, and it has always worked flawlessly invoking Pkg.update()
. So, until 0.7 I had to put 0 though and 20 second of bash in getting what I needed in a way that was consistent, standard, and imposed upon me by whatever doc and method created whenever in the past stating âthis is how you install and keep up to date any packages you might want in juliaâ. I did not make this rule, I just followed it, and it worked until 0.6.4.
So I am perfectly happy to say that breaking this convention has forced me to wade in the incomprehensible logic of âPkg is designed around âenvironmentsâ: independent sets of packages that can be local to an individual project or shared and selected by nameâ. Who on Earth⌠I am not planning to play with the damn thing, but to do work with it. One install, one version, one set of up to date packages. End of. REQUIRE provided one simple, logical and consistent way to achieve that. REQUIRE is not supported anymore? I can live with it, though, pray, how do I get the same functionality, ideally with the same ease?
Finally I am happy to ask a friend to translate in Swedish if the nuance, or any of the above is not clear to you.
If you donât care about environments, donât use them. Itâs purely an optional feature that happens to be quite useful for some workflows
You can use the old package manager, called OldPkg
at 0.7, and available at GitHub - JuliaAttic/OldPkg.jl: Julia's old package manager in 1.0 or use the workaround I created for you at Does 0.7 support REQUIRE? - #22 by kristoffer.carlsson which should allow the same workflow (keeping a list of packages in a file) and calling a function to add / update based on those packages.
Letâs try keep it a friendly technical discussion, no need for these type of comments
Federico, please letâs try to keep this calm and focussed. Rants and ad-hominem remarks are neither necessary nor appreciated.
From a user (i.e. not package-developer) perspective nothing really changed regarding package installation for 0.7/1.0.
Please try to install the packages you need, on 0.7/1.0, optionally with the helper function Kristoffer provided you with.
If this does not result in what you expect, please describe the exact steps (simply copy & paste the entire REPL session, commands + outputs) you tried, and what is different from the behavior you expected.
Thanks.
This is fair enough, but I really think your experience will be as seamless (or moreso) with the new package manager. Once youâve got the packages you want installed, ] up
gets you all the latest versions. You donât need to worry about managing anything else.
You started using the language before it was baked, and you knew that. I commend you, I think itâs great. But you had to expect thereâs be some friction in the updates, even as a simple user (TBH, thatâs mostly what I am - the packages I develop are basically glorified includes for the stuff Iâm doing anyway).
Even more undeserved credit â I am not an early adopter! I deny that! you suggestion above did work, and I am happy to learn how to manage packages in a different way. As you say, things might not be fully baked, and I got caught out by the fact there was a change, and the documentation available seems to be aimed at people who are substantially more skilled and invested in development than I am, and does not yet provide a direct answer to my âkeep stuff simplestâ approach. I guess that had I waited a couple of weeks this issue would have not been there â maybe!
Let me recap this thread:
You may not have, but I did design both REQUIRE and the new Pkg system and frankly this kind of interaction makes me almost regret not retaining the ability to omit certain specific persons from the license under which theyâre released. There is a very simple equivalent of the old REQUIRE file in the new Pkg system, which Kristofferâs solution generates for you. If this thread had been polite rather than abusive, I would have been more than happy to explain clearly and simply how you can have the exact same workflow that youâve grown accustomed to in previous Julia versions, but I donât think that rewarding such behavior sets the right example, so I wonât. Moreover, consider yourself warned that this message crosses the line and is a clear community standards violation. Itâs understandable that youâre a bit frustrated and may have overreacted, but please consider your posts more carefully next time because a repeat of this kind of behavior in the future will lead to you losing the privilege of asking for help on this forum.
I have dealt with enough FOSS software, and I am an academic, so know for a fact that unless people are personally wealthy or time rich, nobody does things without some funding and a justification for said funding. âUsersâ or âenterpriseâ are the justification for academic and private funding in the case of software. So I would put my comments in âuser feedbackâ. I do not claim it is a useful feedback, but it is feedback nonetheless.
Indeed, Kevin Bonham, whom I thanked. I would argue my interaction with Kevin was pretty civil.
I would argue the same about Kristoffer, in fact I did argue that the message âI just did what was in the manual whenever I started trying juliaâ was ignored and I was aggressively told that things are exactly the same in 0.7 as before, which is patently false. As English in neither Kristofferâs nor mine first language I do have concerns that it is the shared use of English that is the issue here.
As you have designed both REQUIRE and Pkg, here is my feedback. I do understand that development does break back compatibility, and I understand that writing manuals is a massive chore, and I do understand that the paragraph âif you used REQUIRE before and are not interested in a more fine grained approach, you might simply do X and have the same functionalityâ might have appeared (might still) in the doc, said info was not in said docs yesterday. As I said, I am 100% sure that âusersâ and âenterpriseâ are the only things that can be used to justify asking for funding (short of personal independent wealth) for the continuous development of julia, I feel perfectly justified to ask the question and provide the feedback that, while I do understand Pkg is powerful and whatnot, and all its capacities need to be presented to developers, for users who do not care about development it might be helpful to provide a succinct and to the point line âREQUIRE is deprecated/not supported, now just do X to keep workingâ.
Kristofferâs code automatically turns your old REQUIRE file into an equivalent Project.toml file which you can use in a similar way.
Extensive experience with FOSS means you have less excuse to be abusive to open source maintainers than someone who was coming to FOSS for the first time. The fact that someone was compensated for their work which you use for free does not entitle you to treat them poorly.
There is no need to discuss this any further and there is no room for debate: do not be rude or abusive to anyone on this forum.