ecjb
ecjb

Reputation: 5449

Trouble installing package fora Julia in Windows behind firewall (although I can install packages with R in the same conditions)

I'm normally using Julia (1.3) on my MacOS and don't have any trouble installing package. I also want to use Julia (1.3) at work where I have Windows 10 and a firewall and where I have no trouble installing new packages for R. However when I try to install packages for Julia, the following error message Comes.

How could I fix the problem?

julia> using Pkg

julia> Pkg.add("IJulia")
   Cloning default registries into `C:\Users\******\.julia`
   Cloning registry from "https://github.com/JuliaRegistries/General.git"
ERROR: failed to clone from https://github.com/JuliaRegistries/General.git, error: GitError(Code:ERROR, Class:OS, failed to send request: The operation timed out
)
Stacktrace:
 [1] pkgerror(::String) at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.3\Pkg\src\Types.jl:113
 [2] #clone#4(::String, ::Base.Iterators.Pairs{Symbol,LibGit2.CachedCredentials,Tuple{Symbol},NamedTuple{(:credentials,),Tuple{LibGit2.CachedCredentials}}}, ::typeof(Pkg.GitTools.clone), ::String, ::String) at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.3\Pkg\src\GitTools.jl:131
 [3] #clone at .\none:0 [inlined]
 [4] (::Pkg.Types.var"#124#126"{Pkg.Types.RegistrySpec,String})(::LibGit2.CachedCredentials) at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.3\Pkg\src\Types.jl:1029
 [5] shred!(::Pkg.Types.var"#124#126"{Pkg.Types.RegistrySpec,String}, ::LibGit2.CachedCredentials) at .\secretbuffer.jl:184
 [6] clone_or_cp_registries(::Pkg.Types.Context, ::Array{Pkg.Types.RegistrySpec,1}, ::String) at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.3\Pkg\src\Types.jl:1028
 [7] clone_or_cp_registries at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.3\Pkg\src\Types.jl:1013 [inlined] (repeats 2 times)
 [8] clone_default_registries() at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.3\Pkg\src\Types.jl:963
 [9] find_registered!(::Pkg.Types.EnvCache, ::Array{String,1}, ::Array{Base.UUID,1}) at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.3\Pkg\src\Types.jl:1244
 [10] registry_resolve!(::Pkg.Types.EnvCache, ::Array{Pkg.Types.PackageSpec,1}) at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.3\Pkg\src\Types.jl:880
 [11] #add#25(::Bool, ::Pkg.BinaryPlatforms.Windows, ::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::typeof(Pkg.API.add), ::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.3\Pkg\src\API.jl:95
 [12] add(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.3\Pkg\src\API.jl:72
 [13] #add#24 at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.3\Pkg\src\API.jl:69 [inlined]
 [14] add at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.3\Pkg\src\API.jl:69 [inlined]
 [15] #add#21 at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.3\Pkg\src\API.jl:67 [inlined]
 [16] add at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.3\Pkg\src\API.jl:67 [inlined]
 [17] #add#20(::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::typeof(Pkg.API.add), ::String) at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.3\Pkg\src\API.jl:66
 [18] add(::String) at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.3\Pkg\src\API.jl:66
 [19] top-level scope at REPL[2]:1
caused by [exception 1]
GitError(Code:ERROR, Class:OS, failed to send request: The operation timed out
)
Stacktrace:
 [1] macro expansion at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.3\LibGit2\src\error.jl:101 [inlined]
 [2] clone(::String, ::String, ::LibGit2.CloneOptions) at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.3\LibGit2\src\repository.jl:459
 [3] #clone#131(::String, ::Bool, ::Ptr{Nothing}, ::LibGit2.CachedCredentials, ::Dict{Symbol,Tuple{Ptr{Nothing},Any}}, ::typeof(LibGit2.clone), ::String, ::String) at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.3\LibGit2\src\LibGit2.jl:580
 [4] #clone at .\none:0 [inlined]
 [5] #clone#4(::String, ::Base.Iterators.Pairs{Symbol,LibGit2.CachedCredentials,Tuple{Symbol},NamedTuple{(:credentials,),Tuple{LibGit2.CachedCredentials}}}, ::typeof(Pkg.GitTools.clone), ::String, ::String) at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.3\Pkg\src\GitTools.jl:123
 [6] #clone at .\none:0 [inlined]
 [7] (::Pkg.Types.var"#124#126"{Pkg.Types.RegistrySpec,String})(::LibGit2.CachedCredentials) at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.3\Pkg\src\Types.jl:1029
 [8] shred!(::Pkg.Types.var"#124#126"{Pkg.Types.RegistrySpec,String}, ::LibGit2.CachedCredentials) at .\secretbuffer.jl:184
 [9] clone_or_cp_registries(::Pkg.Types.Context, ::Array{Pkg.Types.RegistrySpec,1}, ::String) at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.3\Pkg\src\Types.jl:1028
 [10] clone_or_cp_registries at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.3\Pkg\src\Types.jl:1013 [inlined] (repeats 2 times)
 [11] clone_default_registries() at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.3\Pkg\src\Types.jl:963
 [12] find_registered!(::Pkg.Types.EnvCache, ::Array{String,1}, ::Array{Base.UUID,1}) at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.3\Pkg\src\Types.jl:1244
 [13] registry_resolve!(::Pkg.Types.EnvCache, ::Array{Pkg.Types.PackageSpec,1}) at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.3\Pkg\src\Types.jl:880
 [14] #add#25(::Bool, ::Pkg.BinaryPlatforms.Windows, ::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::typeof(Pkg.API.add), ::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.3\Pkg\src\API.jl:95
 [15] add(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.3\Pkg\src\API.jl:72
 [16] #add#24 at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.3\Pkg\src\API.jl:69 [inlined]
 [17] add at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.3\Pkg\src\API.jl:69 [inlined]
 [18] #add#21 at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.3\Pkg\src\API.jl:67 [inlined]
 [19] add at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.3\Pkg\src\API.jl:67 [inlined]
 [20] #add#20(::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::typeof(Pkg.API.add), ::String) at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.3\Pkg\src\API.jl:66
 [21] add(::String) at D:\buildbot\worker\package_win64\build\usr\share\julia\stdlib\v1.3\Pkg\src\API.jl:66
 [22] top-level scope at REPL[2]:1

Upvotes: 1

Views: 628

Answers (1)

xiaodai
xiaodai

Reputation: 16014

If you need a quick fix, try this, firstly, install git so you can get access to git bash

Navigate to C:\Users\******\.julia\registries\General open up git bash and do a git pull.

If you have set up the git config properly then you should be able to pull the package registry.

Now try to Pkg.add("....") again. If that fails, go to

C:\Users\******\.julia\dev and in git bash git pull https://github.com/urlto/PkgYouWantToInstall.jl and then rename the folder to get rid of the .jl suffix.

Go to Julia repo, and do ]dev PkgYouWantToInstall.

Comment: The Behind Corporate Proxy Issue (BCPI) is bigger than the Time-to-first-plot (TTFP) issue but is less visible so doesn't receive as much attention. But it's the biggest drag to Julia adoption. Even bigger than TTFP, IMHO.

Upvotes: 2

Related Questions