Mycroft AI
  • Documentation
  • About Mycroft AI
    • Why use Mycroft AI?
    • Glossary of terms
    • Contributing
    • FAQ
  • Using Mycroft AI
    • Get Mycroft
      • Mark II
        • Mark II Dev Kit
      • Mark 1
      • Picroft
      • Linux
      • Mac OS and Windows with VirtualBox
      • Docker
      • Android
    • Pairing Your Device
    • Basic Commands
    • Installing New Skills
    • Customizations
      • Configuration Manager
      • mycroft.conf
      • Languages
        • Français (French)
        • Deutsch (German)
      • Using a Custom Wake Word
      • Speech-To-Text
      • Text-To-Speech
    • Troubleshooting
      • General Troubleshooting
      • Audio Troubleshooting
      • Wake Word Troubleshooting
      • Log Files
      • Support Skill
      • Getting more support
  • Skill Development
    • Voice User Interface Design Guidelines
      • What can a Skill do?
      • Design Process
      • Voice Assistant Personas
      • Interactions
        • Intents
        • Statements and Prompts
        • Confirmations
      • Conversations
      • Error Handling
      • Example Interaction Script
      • Prototyping
      • Design to Development
    • Development Setup
      • Python Resources
      • Your First Skill
    • Skill Structure
      • Lifecycle Methods
      • Logging
      • Skill Settings
      • Dependencies
        • Manifest.yml
        • Requirements files
      • Filesystem access
      • Skill API
    • Integration Tests
      • Test Steps
      • Scenario Outlines
      • Test Runner
      • Reviewing the Report
      • Adding Custom Steps
      • Old Test System
    • User interaction
      • Intents
        • Padatious Intents
        • Adapt Intents
      • Statements
      • Prompts
      • Parsing Utterances
      • Confirmations
      • Conversational Context
      • Converse
    • Displaying information
      • GUI Framework
      • Show Simple Content
      • Mycroft-GUI on a PC
      • Mark 1 Display
    • Advanced Skill Types
      • Fallback Skill
      • Common Play Framework
      • Common Query Framework
      • Common IoT Framework
    • Mycroft Skills Manager
      • Troubleshooting
    • Marketplace Submission
      • Skills Acceptance Process
        • Information Review Template
        • Code Review Template
        • Functional Review Template
        • Combined Template
      • Skill README.md
    • FAQ
  • Mycroft Technologies
    • Technology Overview
    • Roadmap
    • Mycroft Core
      • MessageBus
      • Message Types
      • Services
        • Enclosure
        • Voice Service
        • Audio Service
        • Skills Service
      • Plugins
        • Audioservice Plugins
        • STT Plugins
        • TTS Plugins
        • Wake Word Plugins
      • Testing
      • Legacy Repo
    • Adapt
      • Adapt Examples
      • Adapt Tutorial
    • Lingua Franca
    • Mimic TTS
      • Mimic 3
      • Mimic 2
      • Mimic 1
      • Mimic Recording Studio
    • Mycroft GUI
      • Remote STT and TTS
    • Mycroft Skills Kit
    • Mycroft Skills Manager
    • Padatious
    • Precise
    • Platforms
Powered by GitBook
On this page
  • mycroft-msm: command not found
  • Updating the $PATH variable
  • Other options:
  • Git authentication failed
  • Uncommitted changes
  • Git command error - not something we can merge
  • Git command error - failed to update repo
  • Where to go for more assistance

Was this helpful?

  1. Skill Development
  2. Mycroft Skills Manager

Troubleshooting

Troubleshooting guide for the Mycroft Skills Manager.

mycroft-msm: command not found

Mycroft provides helper commands for common utilities like MSM. On most systems MSM should be accessible using mycroft-msm. If this command is not found on your system then it has most likely not been added to your $PATH environment variable.

On Linux, when you type a command into the terminal it uses the $PATH environment variable to know where on your system to look for executable files. If you are unfamiliar with this environment variable it's a good one to learn about for new Linux users.

Updating the $PATH variable

The mycroft-msm script, along with all of Mycroft's executables, are contained in the mycroft-core/bin directory. If you installed Mycroft in your $HOME directory, it will be located at: /home/username/mycroft-core/bin.

To permanently add this to our $PATH we will add a line to our .bashrc file that is executed each time we initialize an interactive shell, for example by launching the terminal application.

echo 'export PATH="$PATH:/home/username/mycroft-core/bin"' >> ~/.bashrc
source ~/.bashrc

Other options:

If you do not wish to update your $PATH there are two other methods you can use.

  1. Use the full path of the helper command:

    /home/user/mycroft-core/bin/mycroft-msm
  2. Activate Mycroft's virtual environment and execute msm directly:

    cd /home/user/mycroft-core
    source .venv/bin/activate
    msm install dice

Git authentication failed

ERROR - Error running update_skill on skill-radio-rne: GitException(Git command failed: GitCommandError(['git', 'fetch'], 128, b"remote: Invalid username or password.nfatal: Authentication failed for 'https://github.com/user/my-skill/'", b''))

This error usually means that the GitHub repository for the Skill no longer exists, or has moved. Remove the Skill using msm remove [Skill Name] and then install a new Skill.

Uncommitted changes

ERROR - Error running update_skill on TranslateSkill: SkillModified(Uncommitted changes:
     M requirements.sh
)

This error usually means that there is a difference between the Skill on the Device and the Skill's GitHub repo.

If Mycroft detects that something has change in your Skill, it will stop updating to prevent loss of any work you are doing in that directory. If you are no longer making changes you can checkout the default branch of the Skill, or git stash any changes you've made to get it back to a clean state.

If you continue to get this error you can also delete the Skill and reinstall it.

Git command error - not something we can merge

ERROR - Error running update_skill on skill-malibu-stacy: GitException(Git command failed: GitCommandError(['git', 'merge', '--ff-only', 'origin/HEAD'], 1, b'merge: origin/HEAD - not something we can merge', b''))

This error usually means that there is no remote url defined for the Git repository (ie. named origin - which is the default name of a remote url). This can happen during Skill development when git init is run without defining a remote url. To resolve this error, add a remote url using the command git remote add origin https://github.com/yourGitHubUsername/yourrepo.git.

Git command error - failed to update repo

WARNING - Failed to update repo: GitException(Git command failed: GitCommandError(['git', 'config', 'remote.origin.url', 'https://github.com/MycroftAI/mycroft-skills'], 255, b'error: could not lock config file .git/config: Permission denied', b''))

This error usually means that the filesystem permissions of the Skill are incorrect. Manually check, and if necessary, resolve them.

(mycroft-core) pi@picroft:~/skills/reginaneon-av-music.reginaneon $ ls -las
total 48
4 drwxr-xr-x  6 pi      pi      4096 Jul 12 13:11 .
4 drwxrwxrwx 37 mycroft mycroft 4096 Jul 12 13:10 ..
4 drwxr-xr-x  4 pi      pi      4096 Jul 12 13:10 dialog
4 drwxr-xr-x  8 pi      pi      4096 Jul 12 13:10 .git
4 -rw-r--r--  1 pi      pi        20 Jul 12 13:10 .gitignore
4 -rw-r--r--  1 pi      pi      3159 Jul 12 13:10 __init__.py
4 -rw-r--r--  1 pi      pi      1850 Jul 12 13:10 README.md
4 -rw-r--r--  1 pi      pi        77 Jul 12 13:10 requirements.sh
4 -rw-r--r--  1 pi      pi        23 Jul 12 13:10 requirements.txt
4 -rw-r--r--  1 pi      pi        35 Jul 12 13:10 settings.json
4 drwxr-xr-x  3 pi      pi      4096 Jul 12 13:10 test
4 drwxr-xr-x  4 pi      pi      4096 Jul 12 13:10 vocab

(mycroft-core) pi@picroft:~/skills/reginaneon-av-music.reginaneon $ sudo chown -R mycroft:mycroft .
(mycroft-core) pi@picroft:~/skills/reginaneon-av-music.reginaneon $ ls -las
total 48
4 drwxr-xr-x  6 mycroft mycroft 4096 Jul 12 13:11 .
4 drwxrwxrwx 37 mycroft mycroft 4096 Jul 12 13:10 ..
4 drwxr-xr-x  4 mycroft mycroft 4096 Jul 12 13:10 dialog
4 drwxr-xr-x  8 mycroft mycroft 4096 Jul 12 13:10 .git
4 -rw-r--r--  1 mycroft mycroft   20 Jul 12 13:10 .gitignore
4 -rw-r--r--  1 mycroft mycroft 3159 Jul 12 13:10 __init__.py
4 -rw-r--r--  1 mycroft mycroft 1850 Jul 12 13:10 README.md
4 -rw-r--r--  1 mycroft mycroft   77 Jul 12 13:10 requirements.sh
4 -rw-r--r--  1 mycroft mycroft   23 Jul 12 13:10 requirements.txt
4 -rw-r--r--  1 mycroft mycroft   35 Jul 12 13:10 settings.json
4 drwxr-xr-x  3 mycroft mycroft 4096 Jul 12 13:10 test
4 drwxr-xr-x  4 mycroft mycroft 4096 Jul 12 13:10 vocab

Where to go for more assistance

PreviousMycroft Skills ManagerNextMarketplace Submission

Last updated 4 years ago

Was this helpful?

Join us in the or join us in the .

Skills Mycroft Chat room
Mycroft Forum