# Revise.jl doesn't appear to do anything

**URL:** <https://discourse.julialang.org/t/revise-jl-doesnt-appear-to-do-anything/54788>\
**Category:** New to Julia\
**Tags:** question\
**Created:** [February 7, 2021, 1:07pm UTC](https://discourse.julialang.org/t/revise-jl-doesnt-appear-to-do-anything/54788 "2021-02-07T13:07:57Z")\
**Posts on this page:** 1\
**Showing post:** 65

<div class="post-metadata">

**Author:** ![MA\_Laforge](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ma_laforge/32/385_2.png) [@MA\_Laforge](https://discourse.julialang.org/u/MA_Laforge)\
**Post date:** [February 13, 2021, 4:52pm UTC](https://discourse.julialang.org/t/revise-jl-doesnt-appear-to-do-anything/54788/65 "2021-02-13T16:52:54Z")

</div>

> [@alice](#):
>
> So the `dev` command is just to an alternative to using `cd` to navigate into the right directory and calling `julia --project` ?
> 
> Assuming I have a single package.

Not really:

- `pkg>dev /path/to/SomePkg` adds `SomePkg` to your current environment.

On the other hand,

- `$julia --project /path/to/SomePkg` makes `SomePkg` _ **itself** _ the current environment.

### Projects/Environments

The Julia project (or environment) concept is used because scientists often need to explore phenomena by operating on data (ie running a series of calculations on the data).

This is an exploratory endeavour. We don’t necessarily know ahead of time where we are going, so we want an environment that just allows us to quickly process the data whichever way we think might be useful when an idea hits us (as you might know for yourself).

Eventually, we might start doing the same operation over and over again, and might at one point want a more _ **conventional application** _ to guide us through these more repetitive, known steps.

So, the `julia --project SomePkg` command is sort of analogous to using C/C++ makefiles to specify which libraries required to build your app (Sorry, I’m not familiar with Rust). Well, similar, in that it lists the required packages. Specifying a `julia --project` does not tell Julia how to compile or link things together the way makefiles do for C/C++ applications.

On the other hand `pkg>dev /path/to/SomePkg` is more like adding a makefile entry that adds `SomePkg` to your project. Also, `pkg>dev` implies you will be pointing to an actively developed .git repo (I don’t think it can point to any old directory).

### …vs Conventional Applications

So if you _ **are** _ trying to build a conventional application (something people just launch and wait for a GUI or a result), then you might actually want to go the `julia --project SomePkg` route.

But I personally found this part of Julia to be a bit harder to understand for some reason. So I wouldn’t put energy on it until I felt more comfortable/happy with Julia.

But when you do want to explore this path, you might want to check out ConventionalApp.jl:  
 → [[ANN] ConventionalApp.jl](https://discourse.julialang.org/t/ann-conventionalapp-jl/52390)

You don’t HAVE to use ConventionalApp.jl. It is basically just a utility module to help you create bash files, etc. But it gives you _ **a** _ solution on how conventional applications can be “generated” in a somewhat practical manner.

---

_[View the full topic](https://discourse.julialang.org/t/revise-jl-doesnt-appear-to-do-anything/54788)._
