Error: PackageNotFoundError: "package 'nav2_lifecycle_manage' not found

Hi, I have a problem.

I follow the instruction but I got error: PackageNotFoundError: "package ‘nav2_lifecycle_manage’ not found.

I tried to add nav2_lifecycle_manage in package.xml but it does not work.

Please, check and help me.
Thanks.

import os
from ament_index_python.packages import get_package_share_directory

from launch import LaunchDescription
from launch_ros.actions import Node


def generate_launch_description():
    
    map_file = os.path.join(
        get_package_share_directory('map_server'), 'config', 'turtlebot_area.yaml'
    )

    return LaunchDescription([

        Node (
            package='nav2_map_server', 
            executable='map_server', 
            name='map_server', 
            output='screen', 
            parameters=[
                {'use_sim_time': True},
                {'yaml_filename': map_file}
            ], 
        ),


        Node(
            package='nav2_lifecycle_manage', 
            executable='lifecycle_manager', 
            name='lifecycle_manager_mapper', 
            output='screen', 
            parameters=[
                {'use_sim_time': True},
                {'autostart': True},
                {'node_names': ['map_server']}
            ], 
        ),
    ])
from setuptools import setup
import os
from glob import glob

package_name = 'map_server'

setup(
    name=package_name,
    version='0.0.0',
    packages=[package_name],
    data_files=[
        ('share/ament_index/resource_index/packages',
            ['resource/' + package_name]),
        ('share/' + package_name, ['package.xml']),
        (os.path.join('share', package_name, 'launch'), 
            glob('launch/*.launch.py')), 
        (os.path.join('share', package_name, 'config'), 
            glob('config/*')),
    ],
    install_requires=['setuptools'],
    zip_safe=True,
    maintainer='user',
    maintainer_email='user@todo.todo',
    description='TODO: Package description',
    license='TODO: License declaration',
    tests_require=['pytest'],
    entry_points={
        'console_scripts': [
        ],
    },
)
<?xml version="1.0"?>
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="3">
  <name>map_server</name>
  <version>0.0.0</version>
  <description>TODO: Package description</description>
  <maintainer email="user@todo.todo">user</maintainer>
  <license>TODO: License declaration</license>

  <depend>nav2_lifecycle_manage</depend>

  <test_depend>ament_copyright</test_depend>
  <test_depend>ament_flake8</test_depend>
  <test_depend>ament_pep257</test_depend>
  <test_depend>python3-pytest</test_depend>

  <export>
    <build_type>ament_python</build_type>
  </export>
</package>

Hi @NguyenDuyDuc ,

You actually have a typo error there. You have typed:

nav2_lifecycle_manage

instead of

nav2_lifecycle_manager

You missed the ‘r’ at the end.

       Node(
            package='nav2_lifecycle_manage',   # <--- you missed 'r' here
            executable='lifecycle_manager', 
            name='lifecycle_manager_mapper', 
            output='screen', 
            parameters=[
                {'use_sim_time': True},
                {'autostart': True},
                {'node_names': ['map_server']}
            ], 
        ),

Regards,
Girish

1 Like

I got it. What a silly mistake?
Many thanks