OK, I tried again with the latest nightlies. Now Pkg.init("ssh://
[email protected]/JuliaLang/METADATA.jl.git") succeeds. However, I'm still not
able to add packages. Pkg.setprotocol!("ssh") does seem to work with
Pkg.add though:
julia> Pkg.setprotocol!("ssh"); Pkg.add("ACME")
INFO: Cloning cache of ACME from ssh://github.com/HSU-ANT/ACME.jl.git
WARNING: The explicitly provided credentials were incompatible with the
server's supported authentication methods
ERROR: Cannot clone ACME from ssh://github.com/HSU-ANT/ACME.jl.git. No
errors
in prefetch(::String, ::String, ::Array{String,1}) at ./pkg/cache.jl:56
in resolve(::Dict{String,Base.Pkg.Types.VersionSet},
::Dict{String,Dict{VersionNumber,Base.Pkg.Types.Available}},
::Dict{String,Tuple{VersionNumber,Bool}},
::Dict{String,Base.Pkg.Types.Fixed}, ::Dict{String,VersionNumber},
::Set{String}) at ./pkg/entry.jl:512
in resolve(::Dict{String,Base.Pkg.Types.VersionSet},
::Dict{String,Dict{VersionNumber,Base.Pkg.Types.Available}},
::Dict{String,Tuple{VersionNumber,Bool}},
::Dict{String,Base.Pkg.Types.Fixed}) at ./pkg/entry.jl:476
in edit(::Function, ::String, ::Base.Pkg.Types.VersionSet,
::Vararg{Base.Pkg.Types.VersionSet,N}) at ./pkg/entry.jl:30
in (::Base.Pkg.Entry.##2#5{String,Base.Pkg.Types.VersionSet})() at
./task.jl:309
in sync_end() at ./task.jl:275
in macro expansion at ./task.jl:284 [inlined]
in add(::String, ::Base.Pkg.Types.VersionSet) at ./pkg/entry.jl:51
in
(::Base.Pkg.Dir.##2#3{Array{Any,1},Base.Pkg.Entry.#add,Tuple{String}})() at
./pkg/dir.jl:31
in
cd(::Base.Pkg.Dir.##2#3{Array{Any,1},Base.Pkg.Entry.#add,Tuple{String}},
::String) at ./file.jl:59
in #cd#1(::Array{Any,1}, ::Function, ::Function, ::String,
::Vararg{Any,N}) at ./pkg/dir.jl:31
in add(::String) at ./pkg/pkg.jl:100
On Monday, August 1, 2016 at 11:24:51 AM UTC-6, Tony Kelman wrote:
>
> I think Pkg.add should obey setprotocol!, it's likely a bug that Pkg.init
> doesn't. The extra colon after .com probably is malformed so isn't the
> first error correct? The second issue might be fixed by some authentication
> changes that Keno just merged a few minutes ago, there should be binaries
> that include that fix built in a few hours.
>
>
> On Monday, August 1, 2016 at 8:31:44 AM UTC-7, Daniel O'Malley wrote:
>>
>> I tried the Pkg.init("ssh://...") a couple different ways, but neither
>> worked.
>>
>> Pkg.init("ssh://[email protected]:/JuliaLang/METADATA.jl.git")
>>
>> gave GitError(Code:EINVALIDSPEC, Class:Net, Malformed URL
>> 'ssh://[email protected]:/JuliaLang/METADATA.jl.git').
>>
>> Pkg.init("ssh://[email protected]/JuliaLang/METADATA.jl.git")
>>
>> asked me about my ssh keys then resulted in an authentication failure. If
>> I were to get Pkg.init() working in this way, Pkg.add and other Pkg
>> functions would still have problems though, right?
>>
>> On Monday, August 1, 2016 at 9:09:22 AM UTC-6, Tony Kelman wrote:
>>>
>>> That could be considered a bug, Pkg.init should probably respect the
>>> Pkg.setprotocol! setting, at least when using the DEFAULT_META value. You
>>> should also be able to do Pkg.init("ssh://[email protected]:/
>>> JuliaLang/METADATA.jl.git") as a workaround to avoid having to go
>>> through command-line git.
>>>
>>>
>>> On Monday, August 1, 2016 at 7:01:51 AM UTC-7, Daniel O'Malley wrote:
>>>>
>>>> Oh, sorry for the mixup. Doing a
>>>>
>>>> git clone ssh://[email protected]:/JuliaLang/METADATA.jl.git
>>>>
>>>> from a shell succeeds. I haven't had success trying to change the
>>>> protocol with Pkg.setprotocol! though. Whether I do
>>>> Pkg.setprotocol!("ssh"), Pkg.setprotocol!("git"), or
>>>> Pkg.setprotocol!("notaprotocol"), Pkg.init() seems to always try to clone
>>>> via https.
>>>>
>>>> On Sunday, July 31, 2016 at 10:31:38 PM UTC-6, Tony Kelman wrote:
>>>>>
>>>>> No, I meant ssh:// or git:// url's for packages.
>>>>>
>>>>>
>>>>> On Sunday, July 31, 2016 at 7:02:15 PM UTC-7, Daniel O'Malley wrote:
>>>>>>
>>>>>> Tony, thanks for the quick response and all the work you put into
>>>>>> julia. It would be great to have the package system working for
>>>>>> Mac/Linux
>>>>>> from behind a proxy without needing to rebuild anything. If you need
>>>>>> someone to help test from behind a proxy, please let me know. I'd be
>>>>>> happy
>>>>>> to do it.
>>>>>>
>>>>>> When you say "ssh remotes", do you mean something like
>>>>>> addprocs(["machine1", "machine2"])? That does work for me, but I haven't
>>>>>> tried addprocs'ing to a machine outside our network.
>>>>>>
>>>>>> On Sunday, July 31, 2016 at 6:12:12 PM UTC-6, Tony Kelman wrote:
>>>>>>>
>>>>>>> I believe you need to build libgit2 against libcurl in order for
>>>>>>> proxies to work on linux and mac. We do not currently have it set up in
>>>>>>> our
>>>>>>> build system to do that in a self contained distributable way for
>>>>>>> binaries,
>>>>>>> but it might not be too hard to write the necessary makefile to make it
>>>>>>> work.
>>>>>>>
>>>>>>> We were prioritizing getting ssh remotes to work again for the first
>>>>>>> rc. Do ssh remotes work over proxies by any chance? I don't currently
>>>>>>> have
>>>>>>> immediate access to an environment behind a proxy to test this, but we
>>>>>>> had
>>>>>>> looked into setting one up that we could revisit.
>>>>>>>
>>>>>>