Problem:
Du möchtest dein PlatformIO-Projekt builden, das eine Bibliotheksabhängigkeit wie
platformio_lib_deps.ini
lib_deps =
nanopb/Nanopb@^0.4.6.4hat, aber es wird eine Fehlermeldung wie
platformio_traceback.txt
Error: Traceback (most recent call last):
File "/home/uli/.platformio/penv/lib/python3.10/site-packages/platformio/__main__.py", line 102, in main
cli() # pylint: disable=no-value-for-parameter
File "/home/uli/.platformio/penv/lib/python3.10/site-packages/click/core.py", line 1130, in __call__
return self.main(*args, **kwargs)
File "/home/uli/.platformio/penv/lib/python3.10/site-packages/click/core.py", line 1055, in main
rv = self.invoke(ctx)
File "/home/uli/.platformio/penv/lib/python3.10/site-packages/platformio/cli.py", line 71, in invoke
return super().invoke(ctx)
File "/home/uli/.platformio/penv/lib/python3.10/site-packages/click/core.py", line 1657, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/home/uli/.platformio/penv/lib/python3.10/site-packages/click/core.py", line 1404, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/home/uli/.platformio/penv/lib/python3.10/site-packages/click/core.py", line 760, in invoke
return __callback(*args, **kwargs)
File "/home/uli/.platformio/penv/lib/python3.10/site-packages/click/decorators.py", line 26, in new_func
return f(get_current_context(), *args, **kwargs)
File "/home/uli/.platformio/penv/lib/python3.10/site-packages/platformio/run/cli.py", line 144, in cli
process_env(
File "/home/uli/.platformio/penv/lib/python3.10/site-packages/platformio/run/cli.py", line 201, in process_env
result = {"env": name, "duration": time(), "succeeded": ep.process()}
File "/home/uli/.platformio/penv/lib/python3.10/site-packages/platformio/run/processor.py", line 83, in process
install_project_env_dependencies(
File "/home/uli/.platformio/penv/lib/python3.10/site-packages/platformio/package/commands/install.py", line 132, in install_project_env_dependencies
_install_project_env_libraries(project_env, options),
File "/home/uli/.platformio/penv/lib/python3.10/site-packages/platformio/package/commands/install.py", line 241, in _install_project_env_libraries
spec = PackageSpec(library)
File "/home/uli/.platformio/penv/lib/python3.10/site-packages/platformio/package/meta.py", line 184, in __init__
self._parse(self.raw)
File "/home/uli/.platformio/penv/lib/python3.10/site-packages/platformio/package/meta.py", line 291, in _parse
raw = parser(raw)
File "/home/uli/.platformio/penv/lib/python3.10/site-packages/platformio/package/meta.py", line 316, in _parse_requirements
self.requirements = tokens[1].strip()
File "/home/uli/.platformio/penv/lib/python3.10/site-packages/platformio/package/meta.py", line 231, in requirements
else semantic_version.SimpleSpec(str(value))
File "/home/uli/.platformio/penv/lib/python3.10/site-packages/semantic_version/base.py", line 647, in __init__
self.clause = self._parse_to_clause(expression)
File "/home/uli/.platformio/penv/lib/python3.10/site-packages/semantic_version/base.py", line 1043, in _parse_to_clause
return cls.Parser.parse(expression)
File "/home/uli/.platformio/penv/lib/python3.10/site-packages/semantic_version/base.py", line 1063, in parse
raise ValueError("Invalid simple block %r" % block)
ValueError: Invalid simple block '^0.4.6.4'Lösung
Du verwendest die Bibliotheksversion 0.4.6.4, aber der Versionsbezeichner unterstützt keine Versionen mit 4 Ebenen (a.b.c.d) – der korrekte Versionsbezeichner verwendet nur die ersten drei Ziffern: a.b.c. In unserem Beispiel wäre das
platformio_lib_deps_fixed.ini
lib_deps =
nanopb/Nanopb@^0.4.6Danach musst du dein .pio-Verzeichnis im Projektordner löschen, um das Problem zu beheben:
remove_pio_dir.sh
rm -rf .pioWenn das erledigt ist, builde neu und das Problem wird behoben sein.
Ähnliche Beiträge nach Kategorie:
ESP8266/ESP32 NanoPB PlatformIO
Wenn dieser Beitrag dir geholfen hat, erwäge, mir einen Kaffee zu spendieren oder per PayPal zu spenden, um die Recherche und Veröffentlichung neuer Beiträge auf TechOverflow zu unterstützen