Installation guide

Here are the installation instructions for package ExpressCommands. If you have trouble installing it, please refer to our Troubleshooting page for more information.

Install Julia

First, you should install Julia. We recommend downloading it from its official website. Please follow the detailed instructions on its website if you have to build Julia from source. Some computing centers provide preinstalled Julia. Please contact your administrator for more information in that case. Here's some additional information on how to set up Julia on HPC systems.

If you have Homebrew installed, open Terminal.app and type

brew install julia

to install it as a formula.

If you are also using macOS and want to install it as a prebuilt binary app, type

brew install --cask julia

instead.

If you want to install multiple Julia versions in the same operating system, a recommended way is to use a version manager such as juliaup. First, install juliaup. Then, run

juliaup add release
juliaup default release

to configure the julia command to start the latest stable version of Julia (this is also the default value).

There is a short video introduction to juliaup made by its authors.

Which version should I pick?

You can install the "Current stable release" or the "Long-term support (LTS) release".

  • The "Current stable release" is the latest release of Julia. It has access to newer features, and is likely faster.
  • The "Long-term support release" is an older version of Julia that has continued to receive bug and security fixes. However, it may not have the latest features or performance improvements.

For most users, you should install the "Current stable release", and whenever Julia releases a new version of the current stable release, you should update your version of Julia. Note that any code you write on one version of the current stable release will continue to work on all subsequent releases.

For users in restricted software environments (e.g., your enterprise IT controls what software you can install), you may be better off installing the long-term support release because you will not have to update Julia as frequently.

Versions higher than v1.3, especially v1.6, are strongly recommended. This package may not work on v1.0 and below. Since the Julia team has set v1.6 as the LTS release, we will gradually drop support for versions below v1.6.

Julia and Julia packages support multiple operating systems and CPU architectures; check this table to see if it can be installed on your machine. For Mac computers with M-series processors, this package and its dependencies may not work. Please install the Intel-compatible version of Julia (for macOS x86-64) if any platform-related error occurs.

Install ExpressCommands

Now I am using macOS as a standard platform to explain the following steps:

  1. Open Terminal.app, and type julia to start an interactive session (known as the REPL).

  2. Run the following commands and wait for them to finish:

    julia> using Pkg
    
    julia> Pkg.update()
    
    julia> Pkg.add("ExpressCommands")
  3. Run

    julia> using ExpressCommands

    and have fun!

  4. While using, please keep this Julia session alive. Restarting might cost some time.

If you want to install the latest in-development (probably buggy) version of ExpressCommands, type

julia> using Pkg
julia> Pkg.update() Updating registry at `~/.julia/registries/General` Updating git-repo `https://github.com/JuliaRegistries/General.git` Installed ExpressCommands ─ v0.6.1 Updating `~/work/ExpressCommands.jl/ExpressCommands.jl/docs/build/developers/Project.toml` [0fa58581] ↑ ExpressCommands v0.1.0 ⇒ v0.6.1 Updating `~/work/ExpressCommands.jl/ExpressCommands.jl/docs/build/developers/Manifest.toml` ⌅ [df5135bc] ↑ AbInitioSoftwareBase v0.4.0 ⇒ v0.6.5 [6b84a0a3] + AcuteML v0.11.3 [ec485272] ↑ ArnoldiMethod v0.1.0 ⇒ v0.2.0 [d1d4a3ce] - BitFlags v0.1.7 [944b1d66] - CodecZlib v0.7.0 [35d6a980] - ColorSchemes v3.20.0 [3da002f7] - ColorTypes v0.11.4 [c3611d14] - ColorVectorSpace v0.9.9 [5ae59095] - Colors v0.12.8 [861a8166] + Combinatorics v1.0.2 [863f3e99] ↑ Comonicon v0.9.1 ⇒ v1.0.0 ⌅ [34da2185] ↓ Compat v4.5.0 ⇒ v3.46.0 [5218b696] ↑ Configurations v0.16.6 ⇒ v0.17.4 [d38c429a] - Contour v0.6.2 [150eb455] + CoordinateTransformations v0.6.2 [5a653867] + Counters v0.3.3 [3bff3928] + Crystallography v0.5.1 ⌅ [93b1d1cd] + CrystallographyBase v0.5.2 ⌃ [a93c6f00] ↓ DataFrames v1.4.3 ⇒ v1.3.6 [1eaa2786] ↑ EquationsOfStateOfSolids v0.2.2 ⇒ v0.4.2 [e2ba6199] - ExprTools v0.1.8 [b12df14e] ↑ Express v0.2.3 ⇒ v0.9.2 [0fa58581] ↑ ExpressCommands v0.1.0 ⇒ v0.6.1 [55351af7] ↑ ExproniconLite v0.6.13 ⇒ v0.7.6 [8f5d6c58] + EzXML v1.1.0 [c87230d0] - FFMPEG v0.4.1 [5789e2e9] + FileIO v1.16.0 [53c48c17] - FixedPointNumbers v0.8.4 ⌅ [d9f16b24] + Functors v0.2.8 [28b8d3ca] - GR v0.71.1 [86223c79] + Graphs v1.7.4 [42e2da0e] - Grisu v1.0.2 [cd3eb016] - HTTP v1.5.5 [b5f81e59] - IOCapture v0.2.2 [83e8ac13] - IniFile v0.5.1 [842dd82b] - InlineStrings v1.3.2 [d8418881] - Intervals v1.8.0 [c8e1da08] + IterTools v1.4.0 [033835bb] + JLD2 v0.4.29 [1019f520] - JLFzf v0.1.5 [b964fa9f] - LaTeXStrings v1.3.0 [23fbe1c1] - Latexify v0.15.17 [093fc24a] - LightGraphs v1.3.5 [e6f89c97] - LoggingExtras v1.0.0 [d8e11817] + MLStyle v0.4.16 [5dd3f0b1] - MatchCore v0.1.1 [739be429] - MbedTLS v1.1.7 [442fdcdd] - Measures v0.3.2 [78c3b35d] - Mocking v0.7.5 [d8a4904e] - MutableArithmetics v1.1.0 [4d8831e6] - OpenSSL v1.3.2 [9b87118b] ↑ PackageCompiler v1.6.0 ⇒ v2.1.1 [d96e819e] + Parameters v0.12.3 [7b2266bf] + PeriodicTable v1.1.3 [b98c9c47] - Pipe v1.3.0 [ccf2f8ad] - PlotThemes v3.1.0 [995b91a9] - PlotUtils v1.3.1 [91a5bcdd] - Plots v1.36.6 [f27b6e38] ↑ Polynomials v2.0.25 ⇒ v3.2.0 ⌅ [08abe8d2] ↓ PrettyTables v2.2.1 ⇒ v1.3.1 [1b2dc2e6] + Pseudopotentials v0.8.1 [e44308e6] + PyFortran90Namelists v0.1.0 [95228164] + QuantumESPRESSO v0.8.0 [51b62caa] + QuantumESPRESSOBase v0.7.7 ⌅ [f713baf6] + QuantumESPRESSOCommands v0.6.4 [524a00d3] + QuantumESPRESSOExpress v0.5.9 [a4e7ca57] + QuantumESPRESSOFormatter v0.3.4 [a780ab42] + QuantumESPRESSOParser v0.3.10 [cbbcb084] + ReadableRegex v0.3.2 [01d81517] - RecipesPipeline v0.6.11 [992d4aef] - Showoff v1.0.3 [777ac1f9] - SimpleBufferStream v1.1.0 ⌅ [6a97d125] ↑ SimpleWorkflows v0.8.1 ⇒ v0.16.2 ⌅ [f761d5c5] + Spglib v0.5.3 [892a3eda] - StringManipulation v0.3.0 [62fd8b95] - TensorCore v0.1.1 [b4f28e30] - TikzGraphs v1.1.0 [37f6aa50] - TikzPictures v3.2.0 [f269a46b] - TimeZones v1.9.0 [410a4b4d] + Tricks v0.1.6 [0ca489f0] + TryCatch v0.1.1 [0fb2cfb0] + TypeTransform v0.1.3 [1cfade01] - UnicodeFun v0.4.1 [8030dd95] + UnifiedPseudopotentialFormat v0.4.1 [41fe7b60] - Unzip v0.2.0 [6e34b625] - Bzip2_jll v1.0.8+0 [83423d85] - Cairo_jll v1.16.1+1 [2e619515] - Expat_jll v2.4.8+0 [b22a6f82] - FFMPEG_jll v4.4.2+2 [a3f928ae] - Fontconfig_jll v2.13.93+0 [d7e528f0] - FreeType2_jll v2.10.4+0 [559328eb] - FriBidi_jll v1.0.10+0 [0656b61e] - GLFW_jll v3.3.8+0 [d2c73de3] - GR_jll v0.71.1+0 [78b55507] - Gettext_jll v0.21.0+0 [7746bdde] - Glib_jll v2.74.0+1 [3b182d85] - Graphite2_jll v1.3.14+0 [2e76f6c2] - HarfBuzz_jll v2.8.1+1 [aacddb02] - JpegTurbo_jll v2.1.2+0 [c1c5ebd0] - LAME_jll v3.100.1+0 [88015f11] - LERC_jll v3.0.0+1 [1d63c593] + LLVMOpenMP_jll v15.0.4+0 [dd4b983a] - LZO_jll v2.10.1+0 [e9f186c6] - Libffi_jll v3.2.2+1 [d4300ac3] - Libgcrypt_jll v1.8.7+0 [7e76a0d4] - Libglvnd_jll v1.6.0+0 [7add5ba3] - Libgpg_error_jll v1.42.0+0 [4b2f31a3] - Libmount_jll v2.35.0+0 [89763e89] - Libtiff_jll v4.4.0+0 [38a345b3] - Libuuid_jll v2.36.0+0 [d3a379c0] - LittleCMS_jll v2.12.0+0 [7cb0a576] - MPICH_jll v3.4.3+1 [e7412a2a] - Ogg_jll v1.3.5+1 [643b3616] - OpenJpeg_jll v2.4.0+0 [458c3c95] - OpenSSL_jll v1.1.19+0 [91d4177d] - Opus_jll v1.3.2+0 [30392449] - Pixman_jll v0.40.1+0 [9c32591e] - Poppler_jll v21.9.0+0 [ea2cea3b] - Qt5Base_jll v5.15.3+2 [a2964d1f] - Wayland_jll v1.19.0+0 [2381bf8a] - Wayland_protocols_jll v1.25.0+0 [aed1982a] - XSLT_jll v1.1.34+0 [4f6342f7] - Xorg_libX11_jll v1.6.9+4 [0c0b7dd1] - Xorg_libXau_jll v1.0.9+4 [935fb764] - Xorg_libXcursor_jll v1.2.0+4 [a3789734] - Xorg_libXdmcp_jll v1.1.3+4 [1082639a] - Xorg_libXext_jll v1.3.4+4 [d091e8ba] - Xorg_libXfixes_jll v5.0.3+4 [a51aa0fd] - Xorg_libXi_jll v1.7.10+4 [d1454406] - Xorg_libXinerama_jll v1.1.4+4 [ec84b674] - Xorg_libXrandr_jll v1.5.2+4 [ea2f1a96] - Xorg_libXrender_jll v0.9.10+4 [14d82f49] - Xorg_libpthread_stubs_jll v0.1.0+3 [c7cfdc94] - Xorg_libxcb_jll v1.13.0+3 [cc61e674] - Xorg_libxkbfile_jll v1.1.0+4 [12413925] - Xorg_xcb_util_image_jll v0.4.0+1 [2def613f] - Xorg_xcb_util_jll v0.4.0+1 [975044d2] - Xorg_xcb_util_keysyms_jll v0.4.0+1 [0d47668e] - Xorg_xcb_util_renderutil_jll v0.3.9+1 [c22f9ab0] - Xorg_xcb_util_wm_jll v0.4.1+1 [35661453] - Xorg_xkbcomp_jll v1.4.2+4 [33bec58e] - Xorg_xkeyboard_config_jll v2.27.0+4 [c5fb5394] - Xorg_xtrans_jll v1.4.0+3 [3161d3a3] - Zstd_jll v1.5.2+0 [214eeab7] - fzf_jll v0.29.0+0 [a4ae2306] - libaom_jll v3.4.0+0 [0ac62f75] - libass_jll v0.15.1+0 [f638f0a6] - libfdk_aac_jll v2.0.2+0 [b53b4c65] - libpng_jll v1.6.38+0 [f27f6e37] - libvorbis_jll v1.3.7+1 [ac4a9f1e] + spglib_jll v1.16.5+0 [1270edf5] - x264_jll v2021.5.5+0 [dfaa095f] - x265_jll v3.5.0+0 [d8fb68d0] - xkbcommon_jll v1.4.1+0 [8bf52ea8] - CRC32c [efcefdf7] - PCRE2_jll v10.40.0+0 Info Packages marked with ⌃ and ⌅ have new versions available, but those with ⌅ are restricted by compatibility constraints from upgrading. To see why use `status --outdated -m` Building ExpressCommands → `~/.julia/scratchspaces/44cfe95a-1eb2-52ea-b672-e2afdf69b78f/a52f0734cd3cd1ac001ad614e5d084bb33e6f8b5/build.log`
julia> pkg"add https://github.com/MineralsCloud/ExpressCommands.jl"┌ Warning: The Pkg REPL mode is intended for interactive use only, and should not be used from scripts. It is recommended to use the functional API instead. └ @ Pkg.REPLMode /cache/build/default-amdci5-6/julialang/julia-release-1-dot-8/usr/share/julia/stdlib/v1.8/Pkg/src/REPLMode/REPLMode.jl:379 Cloning git-repo `https://github.com/MineralsCloud/ExpressCommands.jl` Updating git-repo `https://github.com/MineralsCloud/ExpressCommands.jl` Resolving package versions... Updating `~/work/ExpressCommands.jl/ExpressCommands.jl/docs/build/developers/Project.toml` [0fa58581] ~ ExpressCommands v0.6.1 ⇒ v0.6.1 `https://github.com/MineralsCloud/ExpressCommands.jl#main` Updating `~/work/ExpressCommands.jl/ExpressCommands.jl/docs/build/developers/Manifest.toml` [0fa58581] ~ ExpressCommands v0.6.1 ⇒ v0.6.1 `https://github.com/MineralsCloud/ExpressCommands.jl#main`

in the second step above.

Update ExpressCommands

Please watch our GitHub repository for new releases. Once we release a new version, you can update ExpressCommands by typing

julia> using Pkg
julia> Pkg.update("ExpressCommands") Updating registry at `~/.julia/registries/General` Updating git-repo `https://github.com/JuliaRegistries/General.git` Updating git-repo `https://github.com/MineralsCloud/ExpressCommands.jl` No Changes to `~/work/ExpressCommands.jl/ExpressCommands.jl/docs/build/developers/Project.toml` No Changes to `~/work/ExpressCommands.jl/ExpressCommands.jl/docs/build/developers/Manifest.toml`
julia> Pkg.gc() Active manifest files: 6 found Active artifact files: 77 found Active scratchspaces: 9 found Deleted no artifacts, repos, packages or scratchspaces

in the Julia REPL.

Uninstall and reinstall ExpressCommands

Sometimes errors may occur if the package is not properly installed. In this case, you may want to uninstall and reinstall the package. Here is how to do that:

  1. To uninstall, in a Julia session, run

    julia> using Pkg
    
    julia> Pkg.rm("ExpressCommands")
    
    julia> Pkg.gc()
  2. Press ctrl+d to quit the current session. Start a new Julia session and reinstall ExpressCommands.