5

I installed Atom and uber-juno as instructed by Julia's homepage, but when I tried to start Julia in Atom, I was given the following error:

ERROR: LoadError: ArgumentError: Juno not found in path
 in require at loading.jl:249
 in include at boot.jl:261
 in include_from_node1 at loading.jl:320
 in process_options at client.jl:280
 in _start at client.jl:378
while loading C:\Users\think\.atom\packages\julia-client\script\boot.jl, in expression starting on line 36
Bhargav Rao
  • 50,140
  • 28
  • 121
  • 140
Yuanchu Dang
  • 307
  • 4
  • 14

4 Answers4

3

I think you are doing using Juno inside Atom. Juno.jl is a separate package for developing Juno plugins.

Fist save a new file with a .jl extension and type some Julia code (or open an existing .jl file) in Atom, then press SHIFT + ENTER with the cursor in the block of code that you want to evaluate, you should see the result, ie.

1 + 1 # type SHIFT + ENTER

A bubble notification will pop up with the value 2 (when you just start Atom you will see a spinning gear icon until Juno is ready to evaluate a block of code).

enter image description here

HarmonicaMuse
  • 7,633
  • 37
  • 52
  • Thanks. I have installed script and have been able to run .jl file this way, but start Julia in Atom's console gave me the error I described. – Yuanchu Dang Sep 10 '16 at 01:17
3

This isn't really a question for StackOverflow, it's a package/installation discussion. There was a new version tagged this morning which makes use of the new Juno.jl package where the front end stuff is held (this will be useful for package developers since it will allow them to extend Juno / add extra functionality for their packages which interact with Juno, adding only a light dependency). However, Juno.jl is not yet a registered package, leading to this mess.

One way to deal with this problem is to install the development version of the package:

Pkg.clone("https://github.com/JunoLab/Juno.jl")

However, this is not recommended for most users since you'll be at the bleeding edge (you may also need to do [Pkg.checkout(x) for x in ["Media", "Blink", "Atom"]] and use the dev install. So while this would fix this for right now, this will put you on the bleeding edge, a version which does not have a guarantee of stability. Thus, don't do this unless you're really familiar with Julia. (If you didn't see this error and immediately know to check Github for Juno.jl and use Pkg.clone, then you likely shouldn't be using this solution because you will get many random errors coming up all the time due to being on the development version!)

Otherwise, wait for the fix. This error is known, someone opened the issue here. The standard uber-juno install should be fixed up shortly.

If you want more help see the Juno Gitter or the Juno discussion board.

Chris Rackauckas
  • 18,645
  • 3
  • 50
  • 81
  • Thanks for context! Have fixed it using the solution I approved. – Yuanchu Dang Sep 10 '16 at 01:23
  • 1
    The `WARNING: Method definition require(Symbol)...` and `Method definition breakpoint_hit(`? That's harmless and is due to being on the development version which is actively fixing the interaction with the debugger. However, everything should be working. This version should get tagged pretty soon though: the developers know there's an issue. – Chris Rackauckas Sep 10 '16 at 01:36
1

I just re-installed Atom and ran into the same problem. The problem comes from line 31 of ~/.atom/package/julia-client/script/boot.jl which is using Juno. Comment out this line and then Packages > Julia > Start Julia works.

Nels
  • 11
  • 1
  • Wow! This works beautifully. Really curious how did you figure out? – Yuanchu Dang Sep 10 '16 at 01:22
  • This sounds like a recipe for future disaster. `Using Juno` imports the package which I stated was missing. This is a really janky fix: some of the front end features like the progressbar and display that used to be in Media.jl will be looked for and will not be found, causing errors. I would not recommend doing this. Also, this will leave your package as dirty so future updates may fail. You should instead roll back the actual version of Juno to a previous version, or install the missing package. – Chris Rackauckas Sep 10 '16 at 01:27
  • @ChrisRackauckas On a second look, I agree.. Have already got strange warnings when I evaluate code: `WARNING: Atom.jl: unrecognised message clearLazy.` – Yuanchu Dang Sep 10 '16 at 01:37
  • @ChrisRackauckas I guess I'll just uncomment that line and wait for fix to uber-juno? – Yuanchu Dang Sep 10 '16 at 01:38
  • Yes that's probably best. Sorry that you tried it out at such a turbulent moment! It should get fixed really soon: the developers know what's up and it's really just that the standard install gives the wrong version. – Chris Rackauckas Sep 10 '16 at 01:41
0

The best solution is to uninstall and reinstall package julia-client and uber-juno.

Yuanchu Dang
  • 307
  • 4
  • 14