Debugging ‘cannot find the file specified’ Autorest

Last time I was debugging mysterious error connected with autorest:

I have to admit that message was not much of help and at first glance I needed to sit back and think where should I start to track this bug. Which rule of 9 debugging rules should I implement first. For the rest of the post I will mention used rules in curly braces, like (make it fail).

Mentioned error showed up when I clicked the button “Generate” on plugin which I use (make it fail). At first I looked for action attached to Generate button (quit thinking and look) . Thankfully I had a source code of plugin, so quick glimpse showed me the line:

private void GenerateButton_Click(object sender, RoutedEventArgs e)

            var process = Process.Start(
                $@" //some params

as we can see in 4’th line there is call to 'autorest'command. At this moment I already had some hunch where bug can hide, but let’s put guesswork aside 🙂

Let’s check what we will get when we’ll call this command on cmd line (make it fail – again).

 C:\> autorest  'autorest' is not recognized as an internal or external command,  operable program or batch file.

Aha moment ! Autorest not installed. But… wait a second, we already installed it:

C:\>npm list -g --depth=0
 +-- @angular/cli@7.3.7
 `-- autorest@2.0.4283  

now, that was confusing…

so quick googling on ‘package not visible from command line but installed in npm ‘ showed advice:

I specified the path $PATH to the directory where the global packages are installed!

Ethan Cabiac

Fortunately we had my machine where autorest worked fine quick compare between colleague and mine path showed the issue.

When we added npm to path everything started working fine 🙂

Finally all pieces come into one:

  • system tries to run autorest command
  • cannot find autorest command on the list of windows commands
  • it tries to resolve command from the env vars, or apps defined in env and because npm is not there it tell us that it ‘cannot find file specified’ 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll to top