# Pkg3 'No sh engine found...'

**URL:** <https://discourse.julialang.org/t/pkg3-no-sh-engine-found/11477>\
**Category:** New to Julia\
**Created:** [June 6, 2018, 3:51pm UTC](https://discourse.julialang.org/t/pkg3-no-sh-engine-found/11477 "2018-06-06T15:51:59Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![ZacLN](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/zacln/32/2748_2.png) [@ZacLN](https://discourse.julialang.org/u/ZacLN)\
**Post date:** [June 6, 2018, 3:51pm UTC](https://discourse.julialang.org/t/pkg3-no-sh-engine-found/11477/1 "2018-06-06T15:51:59Z")

</div>

Hi, I built the latest (yesterday) master of Julia and am struggling to get Pk3 up and running. I’m on Win10 and it can’t find a program to run `sh` files:

```julia

(v0.7) pkg> develop Tokenize
  Updating git-repo `https://github.com/KristofferC/Tokenize.jl.git`
┌ Warning: packages will require to have a [Julia]Project.toml file in the future
└ @ Pkg.Types Types.jl:817
[ Info: Path `C:\Users\zacnu\.julia\dev\Tokenize` exists and looks like the correct package, using existing path instead of cloning
 Resolving package versions...
ERROR: No sh engines found. We looked for: E:\cygin64\home\zacnu\julia7\usr\bin\busybox.exe, sh. Install one and ensure it is available on the path.
Stacktrace:
 [1] error at .\error.jl:33 [inlined]
 [2] #probe_platform_engines!#14(::Bool, ::Function) at E:\cygin64\home\zacnu\julia7\usr\share\julia\stdlib\v0.7\Pkg\src\PlatformEngines.jl:346
 [3] probe_platform_engines! at E:\cygin64\home\zacnu\julia7\usr\share\julia\stdlib\v0.7\Pkg\src\PlatformEngines.jl:138 [inlined]
 [4] apply_versions(::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}, ::Dict{Base.UUID,Base.SHA1}, ::Dict{Base.UUID,Array{String,1}}) at E:\cygin64\home\zacnu\julia7\usr\share\julia\stdlib\v0.7\Pkg\src\Operations.jl:464
 [5] apply_versions at E:\cygin64\home\zacnu\julia7\usr\share\julia\stdlib\v0.7\Pkg\src\Operations.jl:460 [inlined]
 [6] #add_or_develop#52(::Array{Base.UUID,1}, ::Function, ::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at E:\cygin64\home\zacnu\julia7\usr\share\julia\stdlib\v0.7\Pkg\src\Operations.jl:974
 [7] #add_or_develop at .\<missing>:0 [inlined]
 [8] #add_or_develop#8(::Symbol, ::Base.Iterators.Pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}}, ::Function, ::Pkg.Types.Context, ::Array{Pkg.Types.PackageSpec,1}) at E:\cygin64\home\zacnu\julia7\usr\share\julia\stdlib\v0.7\Pkg\src\API.jl:39
 [9] #add_or_develop at .\<missing>:0 [inlined]
 [10] do_add_or_develop!(::Pkg.Types.Context, ::Array{Union{Pkg.Types.VersionRange, String, Pkg.REPLMode.Command, Pkg.REPLMode.Option, Pkg.REPLMode.Rev},1}, ::Pkg.REPLMode.CommandKind) at E:\cygin64\home\zacnu\julia7\usr\share\julia\stdlib\v0.7\Pkg\src\REPLMode.jl:595
 [11] #invokelatest#1 at .\essentials.jl:670 [inlined]
 [12] invokelatest at .\essentials.jl:669 [inlined]
 [13] do_cmd!(::Array{Union{Pkg.Types.VersionRange, String, Pkg.REPLMode.Command, Pkg.REPLMode.Option, Pkg.REPLMode.Rev},1}, ::REPL.LineEditREPL) at E:\cygin64\home\zacnu\julia7\usr\share\julia\stdlib\v0.7\Pkg\src\REPLMode.jl:275
 [14] #do_cmd#8(::Bool, ::Function, ::REPL.LineEditREPL, ::String) at E:\cygin64\home\zacnu\julia7\usr\share\julia\stdlib\v0.7\Pkg\src\REPLMode.jl:235
 [15] do_cmd at E:\cygin64\home\zacnu\julia7\usr\share\julia\stdlib\v0.7\Pkg\src\REPLMode.jl:232 [inlined]
 [16] (::getfield(Pkg.REPLMode, Symbol("##27#30")){REPL.LineEditREPL,REPL.LineEdit.Prompt})(::REPL.LineEdit.MIState, ::Base.GenericIOBuffer{Array{UInt8,1}}, ::Bool) at E:\cygin64\home\zacnu\julia7\usr\share\julia\stdlib\v0.7\Pkg\src\REPLMode.jl:950
 [17] top-level scope

```

I assume there’s something in cygin that’ll do the job, any tips on where it is/ how to add it to my path?  
Thanks

EDIT: full stacktrace added

---

<div class="post-metadata">

**Author:** ![StefanKarpinski](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stefankarpinski/32/24_2.png) [@StefanKarpinski](https://discourse.julialang.org/u/StefanKarpinski)\
**Post date:** [June 6, 2018, 4:12pm UTC](https://discourse.julialang.org/t/pkg3-no-sh-engine-found/11477/2 "2018-06-06T16:12:13Z")

</div>

Looks like something is expecting busybox, I’m not sure what though. We’re not using busy in Pkg3 at all (that I’m aware of).

---

<div class="post-metadata">

**Author:** ![kristoffer.carlsson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kristoffer.carlsson/32/22_2.png) [@kristoffer.carlsson](https://discourse.julialang.org/u/kristoffer.carlsson)\
**Post date:** [June 6, 2018, 4:35pm UTC](https://discourse.julialang.org/t/pkg3-no-sh-engine-found/11477/3 "2018-06-06T16:35:19Z")

</div>

Please open an issue on the Pkg.jl repo.

---

<div class="post-metadata">

**Author:** ![ZacLN](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/zacln/32/2748_2.png) [@ZacLN](https://discourse.julialang.org/u/ZacLN)\
**Post date:** [June 6, 2018, 5:06pm UTC](https://discourse.julialang.org/t/pkg3-no-sh-engine-found/11477/4 "2018-06-06T17:06:29Z")

</div>

for ref: [https://github.com/JuliaLang/Pkg.jl/issues/345](https://github.com/JuliaLang/Pkg.jl/issues/345)

---

<div class="post-metadata">

**Author:** ![kristoffer.carlsson](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kristoffer.carlsson/32/22_2.png) [@kristoffer.carlsson](https://discourse.julialang.org/u/kristoffer.carlsson)\
**Post date:** [June 6, 2018, 5:16pm UTC](https://discourse.julialang.org/t/pkg3-no-sh-engine-found/11477/5 "2018-06-06T17:16:42Z")

</div>

I opened a PR that should fix it.
