Julia Package Registry
Repository URL Structure
Level | URL Pattern |
---|---|
Project | {gitflic}/project/{userAlias}/{projectAlias} |
Team | {gitflic}/project/{teamAlias}/{projectAlias} |
Company | {gitflic}/project/{companyAlias}/{projectAlias} |
Parameter | Description |
---|---|
userAlias |
Project owner nickname |
projectAlias |
Project nickname |
teamAlias |
Team nickname |
companyAlias |
Company nickname |
Replace {gitflic}
with:
- SaaS: gitflic.ru
- Self-hosted: localhost:8080
(port may vary)
Requirements
Install Julia from:
- Official site
- Or via command line:
Linux/macOS:
curl -fsSL https://install.julialang.org | sh
Windows:
winget install julia -s msstore
Package Creation
-
Launch Julia REPL:
julia
-
Generate new package:
using Pkg Pkg.generate("MyNewPackage")
Directory structure:
MyNewPackage/
├── Project.toml
└── src/
└── MyNewPackage.jl
-
Configure
Project.toml
:
[package] name = "MyNewPackage" uuid = "unique-package-uuid" # Generate with UUIDs.uuid4() authors = ["username <email>"] version = "0.1.0" [compat] julia = "1.10"
-
Upload package to GitFlic
Registry Creation
Create a dedicated GitFlic project with this structure:
juliarepo/
├── MyNewPackage/
│ ├── Package.toml
│ └── Versions.toml
└── Registry.toml
Configuration Files
Registry.toml:
name = "MyRegistry"
uuid = "unique-registry-uuid"
repo = "{gitflic}/project/{owner}/{project}.git"
[packages]
unique-package-uuid = {name = "MyNewPackage", path = "MyNewPackage"}
Package.toml:
name = "MyNewPackage"
uuid = "unique-package-uuid"
authors = ["username <email>"]
version = "0.1.0"
repo = "{gitflic}/project/{owner}/{package-project}.git"
Versions.toml:
["0.1.0"]
git-tree-sha1 = "git-tree-hash" # Get via: git rev-parse HEAD^{tree}
Registry Management
-
Add registry:
Pkg.Registry.add(RegistrySpec(url="{gitflic}/project/{owner}/{registry-project}.git"))
-
Update registry:
Pkg.Registry.update()
-
Check status:
Pkg.Registry.status()
-
Install package:
Pkg.add("MyNewPackage")
-
Verify installation:
Pkg.status()
-
Use package:
using MyNewPackage MyNewPackage.greeting()
Automatic translation!
This page has been automatically translated. The text may contain inaccuracies