Hi. I’m climbing up the wall a bit here. I’ve never created a package before, so I want to create one, simply to work out how to work with packages, but I’ve come to a complete standstill. I’ve viewed about 20 different YouTube tutorials and read several online texts on generating and publishing packages, but can’t get any of them to work for me.
I want to generate a package at an arbitrary location (not necessarily ~/.julia/dev), and publish it to a GitHub repository. I can generate a local package using PkgTemplates, and I can create a GitHub repository, but I can’t seem to link the two. When I try to add the local package, I get the GitHub message “The repository does not seem to exist anymore”.
That had what we hope is a very beginner friendly intro to this - albeit there isn’t instructions for getting documentation building etc. It also builds on the github lecture 11. GitHub, Version Control and Collaboration — Quantitative Economics with Julia
OK many thanks - that seems to have worked fine, but since those instructions put the package in the .julia/dev directory, I had to do a bit extra. In total, what I did was the folloiwng:
Create an EMPTY repository on github, with my package name followed by
.julia/dev/MyPackage directory with the content inside:
tpl = Template(user=“lmiq”)
Navigate to the package directory and push content to repository for the first time:
git push --set-upstream origin master
Go to github and clone the new repository into the directory where I actually want it
At this stage I can delete the package from .julia/dev
Thanks @jperla, I’ll give that a try next. :-))
OK, many thanks to @lmiq and @jlperla . To anyone coming after, I’ve now solved my problem by creating the following little Julia file which I open in VSCode whenever I want to create a new package. I can then do everything from within VSC (and github):
# In GitHub:
# Create empty (!) repository PackageName.jl
# In Julia:
t = Template(user="NiallPalfreyman")
# In cmd:
# cd ~/.julia/dev/PackageName
# git push --set-upstream origin master
# In GitHub:
# Clone repository PackageName.jl to required local directory
# In Windows:
# Delete PackageName from ~/.julia/dev
Thanks very much everyone - those are great new resources. There is just one thing that is still puzzling me. In all of these references they say that if you start Julia from within a particular folder like, say, the desktop, then
generate will create the package in that folder. Yet that just does not seem to be the case for me. No matter where I start Julia, it always creates the package in ~/.julia/dev. Is this something I’ve omitted in my installation somehow?
Are you using
The default for
Pkg.generate() is to create a folder in the current folder.
The default for
PkgTemplates.generate() is to create a folder in
The interactive menu of
PkgTemplates allows you to customize
Ah. That would explain it - thanks. I’m using PkgTemplates.generate(). Mystery solved!