'vue-cli-service' is not recognized as an internal or external command

avatar
Borislav Hadzhiev

Last updated: Apr 4, 2024
7 min

banner

# Table of Contents

  1. 'vue-cli-service' is not recognized as an internal or external command
  2. 'vue' is not recognized as an internal or external command
  3. vue: command not found error

# 'vue-cli-service' is not recognized as an internal or external command

To solve the error "'vue-cli-service' is not recognized as an internal or external command, operable program or batch file", install the @vue/cli-service package globally by running npm install -g @vue/cli-service and clear your npm cache.

First, open your terminal in your project's root directory (where your package.json) file is and run npm install.

shell
npm install npm run serve

# Delete your node_modules and reinstall your dependencies

If the error is not resolved, try to delete your node_modules and package-lock.json (not package.json) files and re-run npm install.

If you are on macOS or Linux, issue the following commands in bash or zsh.

shell
# for macOS and Linux rm -rf node_modules rm -f package-lock.json rm -f yarn.lock # ๐Ÿ‘‡๏ธ clean npm cache npm cache clean --force # ๐Ÿ‘‡๏ธ install packages npm install

If you are on Windows, issue the following commands in CMD.

cmd
# for Windows rd /s /q "node_modules" del package-lock.json del -f yarn.lock # ๐Ÿ‘‡๏ธ clean npm cache npm cache clean --force # ๐Ÿ‘‡๏ธ install packages npm install
Make sure to restart your IDE and dev server if the error persists. VSCode often glitches and a reboot solves things sometimes.

If that didn't help, install @vue/cli-service globally by running the following command.

shell
# ๐Ÿ‘‡๏ธ Uninstall old vue cli npm uninstall vue-cli -g # ๐Ÿ‘‡๏ธ install @vue/cli-service and @vue/cli globally npm install -g @vue/cli-service npm install -g @vue/cli npm run serve

install vue cli and vue cli service

If the global installation of @vue/cli-service fails, you have to open your shell as an administrator or run the command prefixed with sudo.

shell
# ๐Ÿ‘‡๏ธ Uninstall old vue cli sudo npm uninstall vue-cli -g # ๐Ÿ‘‡๏ธ install @vue/cli-service and @vue/cli globally sudo npm install -g @vue/cli-service sudo npm install -g @vue/cli npm run serve

Make sure your shell is opened at the root directory of your project (where your package.json file is) when running the npm run serve command.

After installing @vue/cli-service globally and running npm install to install the dependencies in your package.json file, the error should be resolved.

# 'vue' is not recognized as an internal or external command

To solve the error "'vue' is not recognized as an internal or external command, operable program or batch file", install the @vue/cli package globally by running npm install -g @vue/cli, restart your terminal and make sure your PATH environment variable is set up correctly.

Open your terminal and install the vue cli globally by running the following command.

shell
# ๐Ÿ‘‡๏ธ Uninstall old vue cli npm uninstall vue-cli -g # ๐Ÿ‘‡๏ธ install @vue/cli globally npm install -g @vue/cli # ๐Ÿ‘‡๏ธ if command outputs version, vue is installed vue --version # ๐Ÿ‘‡๏ธ Create a vue project vue create my-project

If the vue --version command outputs a version number, then vue is installed successfully.

If the global installation of vue fails, you have to open your shell as an administrator or run the command prefixed with sudo.
shell
# ๐Ÿ‘‡๏ธ if you got permissions error sudo npm uninstall vue-cli -g sudo npm install -g @vue/cli vue --version vue create my-project
If the error is not resolved, try restarting your terminal.

If that doesn't help, try to uninstall @vue/cli, install the latest version and restart your terminal.

shell
# ๐Ÿ‘‡๏ธ if permissions error, prefix with sudo npm uninstall -g @vue/cli # ๐Ÿ‘‡๏ธ if permissions error, prefix with sudo npm install -g @vue/cli@latest vue --version

# Update your PATH environment variable

If that didn't help, run the following command:

shell
npm config get prefix

The command will show you the path where npm puts your globally installed packages. The global packages will be in the bin directory at the specified path.

Look at the PATH environment variable on your operating system and add the path that the npm config get prefix command outputs if it's not already there.

If you add the output from the command to your PATH environment variable, you have to restart any open command prompts before it takes effect.

On Windows, the output of the npm config get prefix command will look something like: C:\Users\Your_User_Name\AppData\Roaming\npm.

To update the PATH on a Windows machine, you have to:

  1. Open the start search and type in env and then click "Edit the system environment variables"
  2. Then click "Environment Variables"
  3. Edit the Path variable and add the output you got from the npm config get prefix command.

The path should look like C:\Users\Your_User_Name\AppData\Roaming\npm (make sure to replace the Your_User_name placeholder with your actual username).

If you add the output from the command to your PATH environment variable, you have to restart any open command prompts before it takes effect.

If you get the error "vue cannot be loaded because running scripts is disabled on this system", open your PowerShell as an administrator and set its execution policy with the Set-ExecutionPolicy command.

shell
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
Make sure to open your PowerShell as an administrator before you run the Set-ExecutionPolicy command.

This effectively removes the execution policy of Restricted, which doesn't allow us to load configuration files or run scripts. The Restricted execution policy is the default for Windows client computers.

If you are on macOS, you can update your path with the following command:

shell
# make sure path matches with npm config get prefix export PATH=/usr/local/share/npm/bin:$PATH

If you are on Linux, you can add the output from the npm config get prefix command to your .bashrc file.

~/.bashrc
# ๐Ÿ‘‡๏ธ make sure to update the path with the output # from the command export PATH="/usr/local/share/npm/bin:$PATH"
If you add the output from the command to your PATH environment variable, you have to restart any open command prompts before it takes effect.

If that doesn't help try to reinstall Node.js on your machine and then install vue globally by running npm install -g @vue/cli.

During the installation, you might get a prompt for whether you want to automatically update the PATH environment variable on your system, make sure to tick the option.
shell
# ๐Ÿ‘‡๏ธ install @vue/cli globally npm install -g @vue/cli # ๐Ÿ‘‡๏ธ if command outputs version, vue is installed vue --version # ๐Ÿ‘‡๏ธ Create a vue project vue create my-project
If the global installation of vue fails, you have to open your shell as an administrator or run the command prefixed with sudo.
shell
# ๐Ÿ‘‡๏ธ if you got permissions error sudo npm install -g @vue/cli vue --version vue create my-project

Alternatively, you can see how you can fix the permissions error on this page in the official npm docs.

# vue: command not found error

To solve the error "vue: command not found", install the @vue/cli package globally by running npm install -g @vue/cli and restart your terminal.

If the command fails, run it with sudo and make sure the correct PATH is set in your system's environment variable.

command not found vue

Open your terminal and install the vue cli globally by running the following command.

shell
# ๐Ÿ‘‡๏ธ Uninstall old vue cli npm uninstall vue-cli -g # ๐Ÿ‘‡๏ธ install @vue/cli globally npm install -g @vue/cli # ๐Ÿ‘‡๏ธ if command outputs version, vue is installed vue --version # ๐Ÿ‘‡๏ธ Create a vue project vue create my-project

If the vue --version command outputs a version number, then vue is installed successfully.

If the global installation of vue fails, you might have to run the command prefixed with sudo.
shell
# ๐Ÿ‘‡๏ธ if you got permissions error sudo npm uninstall vue-cli -g sudo npm install -g @vue/cli vue --version vue create my-project
If the error is not resolved, try restarting your terminal.

# Reinstall the Vue CLI

If that doesn't help, try to uninstall @vue/cli, install the latest version and restart your terminal.

shell
# ๐Ÿ‘‡๏ธ if permissions error, prefix with sudo npm uninstall -g @vue/cli # ๐Ÿ‘‡๏ธ if permissions error, prefix with sudo npm install -g @vue/cli@latest vue --version

# Update the PATH on macOS or Linux

If that doesn't help either, run the following command:

shell
npm config get prefix

The command will show you the path where npm puts your globally installed packages. The global packages will be in the bin directory at the specified path.

Look at the PATH environment variable on your operating system and add the path that the npm config get prefix command outputs if it's not already there.

If you add the output from the command to your PATH environment variable, you have to restart any open command prompts before it takes effect.

If that didn't work, try to add the path to the bin folder (from npm config get prefix) to your PATH environment variable and restart your terminal.

On macOS, you can update your path with the following command:

shell
# make sure path matches with npm config get prefix export PATH=/usr/local/share/npm/bin:$PATH

Edit the environment variable on your machine and add the specified path (replacing the placeholder with your username).

On Linux, you can add the output from the npm config get prefix command to your .bashrc file.

~/.bashrc
# ๐Ÿ‘‡๏ธ make sure to update the path with the output # from the command export PATH="/usr/local/share/npm/bin:$PATH"
If you add the output from the command to your PATH environment variable, you have to restart any open command prompts before it takes effect.

If that doesn't help try to reinstall Node.js on your machine and then install the Vue CLI globally by running npm install -g @vue/cli.

During the installation, you might get a prompt for whether you want to automatically update the PATH environment variable on your system, make sure to tick the option.
shell
# ๐Ÿ‘‡๏ธ install @vue/cli globally npm install -g @vue/cli # ๐Ÿ‘‡๏ธ if command outputs version, vue is installed vue --version # ๐Ÿ‘‡๏ธ Create a vue project vue create my-project
If the global installation of vue fails, you might have to run the command prefixed with sudo.
shell
# ๐Ÿ‘‡๏ธ if you got permissions error sudo npm install -g @vue/cli vue --version vue create my-project

Alternatively, you can see how you can fix the permissions error on this page in the official npm docs.

# Additional Resources

You can learn more about the related topics by checking out the following tutorials:

I wrote a book in which I share everything I know about how to become a better, more efficient programmer.
book cover
You can use the search field on my Home Page to filter through all of my articles.

Copyright ยฉ 2024 Borislav Hadzhiev