nmm
Gestionnaire de modules Nelson.
📝Syntaxe
st = nmm('list')
st_json = nmm('list', '-json')
commands = nmm('commands')
commands_json = nmm('commands', '-json')
report = nmm('help')
report_json = nmm('help', '-json')
report = nmm('help', command)
report_json = nmm('help', command, '-json')
report = nmm(command, ..., '-quiet')
nmm('load', module_name)
nmm('load', module_name, version)
report = nmm('verify', package_filename)
report = nmm('verify', module_path)
lock = nmm('lock', module_path)
lock = nmm('lock', module_path, '-dry-run')
report = nmm('lock', module_path, '-check')
report = nmm('lock', module_path, '-diff')
report = nmm('config')
report = nmm('pin', module_name)
report = nmm('pin', module_name, version)
report = nmm('unpin', module_name)
report = nmm('why', package_name)
report = nmm('why', install_report, package_name)
json_text = nmm('why', package_name, '-json')
report = nmm('tree', package_name)
report = nmm('tree', install_report)
json_text = nmm('tree', package_name, '-json')
deps = nmm('deps', package_name)
deps = nmm('deps', install_report)
json_text = nmm('deps', package_name, '-json')
rdeps = nmm('rdeps', package_name)
status = nmm('status', package_name)
report = nmm('explain', package_name)
graph = nmm('graph', package_name)
versions = nmm('installed', package_name)
info = nmm('latest', package_name)
report = nmm('resolve', package_name, version_spec)
tf = nmm('satisfies', version, version_spec)
l = nmm('autoload', module_name)
nmm('autoload', module_name, state)
nmm('install', git_url)
nmm('install', module_path, '-tests')
nmm('install', module_path, '-no-tests')
nmm('install', git_url, '-tests')
report = nmm('install', package_filename, '-dry-run')
report = nmm('install', package_filename, '-force')
report = nmm('install', package_name, '-dry-run')
nmm('install', package_name, version)
report = nmm('install', package_name, version, '-dry-run')
nmm('install', package_name, version, '-tests')
nmm('install', package_name, version, '-no-tests')
nmm('install', package_name, version, '-force')
report = nmm('install', package_name, version, '-offline', '-dry-run')
nmm('uninstall', module_name)
nmm('uninstall', module_name, version)
nmm('remove', module_name)
report = nmm('remove', module_name, '-dry-run')
report = nmm('remove', module_name, '-force')
nmm('remove', module_name, version)
report = nmm('remove', module_name, version, '-dry-run')
orphans = nmm('orphans')
orphans_json = nmm('orphans', '-json')
report = nmm('autoremove')
report = nmm('autoremove', '-dry-run')
report_json = nmm('autoremove', '-dry-run', '-json')
package_filename = nmm('package', module_name, destination_dir)
package_filename = nmm('pack', module_path, destination_dir)
report = nmm('pack', module_path, '-dry-run')
report = nmm('pack', module_path, destination_dir, '-dry-run')
package_filename = nmm('pack', module_path, destination_dir, '-no-tests')
report = nmm('publish', package_filename)
report = nmm('publish', package_filename, '-dry-run')
report = nmm('publish', package_filename, '-check')
report = nmm('publish', package_filename, '-force')
json_text = nmm('publish', package_filename, '-json')
report = nmm('publish', package_filename, '-source', url)
tf = nmm('validate', module_path)
tf = nmm('validate', module_path, '-strict')
report = nmm('validate', module_path, '-warnings')
json_text = nmm('validate', module_path, '-json')
report = nmm('audit')
report = nmm('audit', package_name)
json_text = nmm('audit', '-json')
report = nmm('doctor')
report = nmm('doctor', package_name)
json_text = nmm('doctor', package_name, '-json')
report = nmm('repair')
packages = nmm('search', query)
json_text = nmm('search', query, '-json')
packages = nmm('search', query, '-platform')
info = nmm('info', package_name)
info = nmm('info', package_name, version)
json_text = nmm('info', package_name, '-json')
versions = nmm('versions', package_name)
json_text = nmm('versions', package_name, '-json')
report = nmm('registry', 'list')
report = nmm('registry', 'check')
report = nmm('registry', 'validate')
report = nmm('registry', 'stats')
report = nmm('registry', 'doctor')
outdated = nmm('outdated')
outdated = nmm('outdated', module_name)
json_text = nmm('outdated', module_name, '-json')
report = nmm('update')
report = nmm('update', '-dry-run')
report = nmm('update', module_name)
report = nmm('update', module_name, '-dry-run')
cache_dir = nmm('cache', 'dir')
cache_packages = nmm('cache', 'list')
report = nmm('cache', 'size')
info = nmm('cache', 'info', package_name, version)
tf = nmm('cache', 'has', package_name, version)
report = nmm('cache', 'add', package_filename)
report = nmm('cache', 'export', destination_dir)
report = nmm('cache', 'import', source_dir)
report = nmm('cache', 'remove', package_name, version)
report = nmm('cache', 'verify')
report = nmm('cache', 'prune')
report = nmm('cache', 'prune', '-dry-run')
status = nmm('cache', 'clear')
nmm('install', package_name, '-offline')
nmm('install', package_name, version, '-offline')
📥Arguments d'entrée
Paramètre Description
query chaîne : texte à chercher dans les métadonnées du registre.
package_name chaîne : nom du paquet dans le registre configuré.
version chaîne : version exacte du paquet ou contrainte semver.
module_path chaîne : chemin vers un répertoire de module contenant module.json.
module_name chaîne : nom court du module.
state logique : true active le chargement automatique du module au démarrage, false désactive l'autoload pour ce module.
git_url chaîne : une URL git (protocole http/https).
destination_dir chaîne : répertoire de destination existant où l'archive sera créée.
📤Arguments de sortie
Paramètre Description
outdated tableau de struct : modules installés ayant une version plus récente dans le registre.
cache_dir chaîne : répertoire du cache local de nmm.
cache_packages tableau de struct : paquets en cache avec les champs name, version, path et has_sha256.
json_text chaîne : rapport d'audit encodé en JSON.
status logique : true lorsque la commande de cache réussit.
packages tableau de struct : entrées de paquet correspondant à la recherche.
info struct : entrée de paquet du registre.
versions cellule de chaînes : versions du paquet listées dans le registre.
report struct : état d'audit avec les champs ok et issues.
tf logique : true si module.json est valide, sinon une erreur est émise.
st struct : liste des modules installés.
l logique : état courant de l'autoload.
package_filename chaîne : nom du fichier.
lock struct : contenu module-lock.json généré.
📄Description

nmm est le gestionnaire de modules Nelson.

Les installations sont préparées dans un répertoire temporaire, construites, verrouillées, puis copiées vers le répertoire final des modules utilisateur. En cas d'erreur avant la fin, nmm annule le module partiellement installé.

Les dépendances de modules source déclarées dans module.json sont résolues avant la construction du module. Lorsqu'un module source fournit déjà module-lock.json, ses versions exactes verrouillées de dépendances sont utilisées à la place des plages déclaratives. Les chemins locaux, archives et dépôts Git HTTP sont installés récursivement. Les contraintes de version sont vérifiées avec les dépendances déjà installées et les conflits arrêtent l'installation avant la copie du module. Les installations source construisent le module en staging avant de l'écrire dans le répertoire final des modules. Les tests du paquet ne sont pas exécutés à l'installation par défaut : passez -tests pour les lancer, ou définissez la variable d'environnement NELSON_NMM_INSTALL_TESTS=1 pour les lancer à chaque installation source ; -no-tests reste accepté. Une entrée de registre déclarant "tests": "required" exécute toujours les tests du paquet, et l'installation échoue s'ils échouent. Les archives préconstruites n'exécutent jamais de tests : elles ont été testées lors de l'empaquetage (nmm pack exige des tests réussis). Si une installation source échoue, une version déjà installée du même module reste installée et active.

Les modules source et les archives précompilées sont validés avant installation. Les paquets dont la plage de compatibilité nelson ne correspond pas à la version de Nelson en cours sont refusés avant construction ou copie finale.

Les paquets distribués au format source permettent d'obtenir des paquets optimisés pour votre machine et de disposer de dépôts distribués.

Les modules installés sont compilés localement et peuvent nécessiter un compilateur C/C++.

st = nmm('list') récupère la liste des modules installés. Cette lecture du registre local ne fait aucun accès réseau ni chargement de paquet. Elle exige uniquement le module json, pas webtools ni file_archiver. Les formes -json et -quiet ont les mêmes dépendances.

Ajouter '-json' a list, commands, help, tree, why, deps, outdated ou doctor retourne le meme rapport encode en JSON pour les scripts.

Ajouter '-quiet' en dernier argument supprime la sortie console tout en conservant les valeurs retournees. Cette option est destinee aux scripts CI autour des commandes qui lancent des builders ou des tests.

nmm('commands') retourne une courte liste scriptable des groupes de commandes supportes, des exemples de syntaxe et des alias. nmm('help') liste les noms de commandes. nmm('help', command) retourne l'entree d'une commande ou d'un alias.

nmm('config') retourne le registre configure, le repertoire de cache, le repertoire des modules utilisateur, l'etat de la cle de signature, le nombre de cles de registre de confiance, l'autorisation des registres non signes et le nombre d'archives en cache offline.

nmm('install', git_url) installe un module distant.

Par exemple : 'https://github.com/nelson-lang/module_skeleton_basic.git#v1.0.0'

'#v1.0.0' est uncommit-ish: il permet de cloner exactement un commit.

Le commit-ish peut être un tag (version exacte), un sha1 (commit exact) ou un nom de branche.

Sans commit-ish, la branche master sera utilisée.

nmm('orphans') liste les paquets de dependance installes automatiquement qui ne sont plus atteignables depuis les modules installes explicitement. nmm('autoremove', '-dry-run') rapporte ces paquets sans les supprimer, et nmm('autoremove') les supprime avec force explicite car ils sont deja classes comme dependances orphelines. Les deux commandes supportent la sortie '-json' pour les scripts.

nmm('install', package_name, version) installe une version exacte de paquet ou la version la plus récente correspondant à une contrainte semver depuis le registre configuré. L'entrée du registre doit contenir une source d'installation via source, url ou archive. Les dépendances déclarées par l'entrée du registre sont résolues récursivement avant l'installation du paquet demandé.

Les contraintes semver acceptées incluent par exemple >=1.2.0, ~1.4 et ^2.0.0.

Les installations depuis le registre refusent les entrées dont les métadonnées platforms ou nelson ne sont pas compatibles avec l'exécution courante avant de lire la source du paquet.

nmm('install', package_name, '-dry-run') resout le dernier paquet compatible du registre. nmm('install', package_name, version, '-dry-run') resout le paquet du registre et ses dependances recursives, verifie la compatibilite et les checksums d'archives locales disponibles, puis retourne un plan sans modifier les modules installes ni le cache.

nmm('install', package_name, version, '-tests') installe un paquet du registre en exécutant ses tests lorsque sa source est une arborescence locale ou un dépôt Git ; -no-tests les ignore explicitement (comportement par défaut, sauf si l'entrée de registre déclare "tests": "required"). nmm('install', package_name, version, '-force') reinstalle cette version du paquet du registre en remplacant une copie deja installee si necessaire.

nmm('install', filename_nmz) installe un module externe précompilé.

Les archives précompilées doivent contenir module-lock.json. Les dépendances listées dans ce fichier doivent déjà être installées et la plateforme de l'archive doit correspondre à l'architecture courante ou valoir all. Les paquets binaires exigent aussi que l'architecture Nelson et le tag ABI verrouillés correspondent au build Nelson en cours. Si un fichier voisin .sha256 existe, il est vérifié avant extraction.

nmm('install', module_path, '-tests') installe un module source local (ou un dépôt Git) en exécutant ses tests de paquet avant l'enregistrement ; nmm('install', module_path, '-no-tests') les ignore explicitement. Sans option, les tests ne sont pas exécutés, sauf si NELSON_NMM_INSTALL_TESTS=1 est défini.

nmm('install', package_filename, '-dry-run') vérifie le plan d'installation d'une archive sans écrire dans modules.json ni copier de fichiers dans le répertoire des modules utilisateur.

nmm('install', package_filename, '-force') reinstalle la meme version d'archive verifiee en supprimant la version deja installee apres validation dry-run de l'archive.

nmm('verify', package_filename) vérifie une archive .nmz sans l'installer. La commande contrôle la structure, module.json, module-lock.json, les checksums embarqués, le sidecar optionnel .sha256, et la compatibilité d'architecture ou d'ABI Nelson des paquets binaires. nmm('verify', module_path) verifie que le lockfile d'un module source est a jour.

nmm('load', module_name) charge un module installé pour la session courante.

nmm('load', module_name, version) charge une version installée spécifique d'un module.

Plusieurs versions du même module peuvent être installées côte à côte. La version active est la version installée la plus récente sauf si une version a été épinglée.

nmm('pin', module_name, version) choisit la version active par défaut et l'enregistre dans modules.json comme pinned_version. Si la version est omise, la version active courante est epinglee.

nmm('unpin', module_name) supprime pinned_version sans desinstaller le module et active la version installee la plus recente.

nmm('why', package_name) indique quels modules installes dependent d'un paquet en lisant les dependances des module-lock.json installes. nmm('why', install_report, package_name) explique pourquoi un paquet apparait dans un plan dry-run d'installation depuis le registre.

nmm('tree', package_name) retourne l'arbre des dependances installees d'un package en lisant module-lock.json. nmm('tree', install_report) retourne l'arbre de dependances represente par un plan dry-run d'installation depuis le registre. Le rapport contient les dependances imbriquees, les packages manquants et les conflits.

nmm('deps', package_name) et nmm('deps', install_report) retournent une liste plate des dependances depuis un arbre de package installe ou un plan dry-run d'installation depuis le registre. nmm('rdeps', package_name) retourne les packages installes qui dependent d'un package. nmm('status', package_name) retourne un resume scriptable de l'etat installe, de la version active, du lockfile, des dependances manquantes et des dependances inverses.

nmm('explain', package_name) combine le status, l'arbre de dependances et les dependances inverses dans un rapport scriptable avec des lignes de resume lisibles. nmm('graph', package_name) exporte le graphe de dependances installees en texte DOT et Mermaid.

nmm('installed', package_name) retourne uniquement les versions installees localement. nmm('latest', package_name) retourne le dernier package compatible du registre. nmm('resolve', package_name, version_spec) retourne la version exacte compatible choisie pour une contrainte de version sans installation. nmm('satisfies', version, version_spec) verifie une version avec une version exacte ou une contrainte semver.

l = nmm('autoload', module_name retourne l'état courant d'autoload pourmodule_name.

nmm('autoload', module_name, state) marque un module installé pour être chargé automatiquement au démarrage.

Par défaut, les modules sont marqués pour l'autoload.

nmm('uninstall', module_name) désinstalle un module installé.

nmm('remove', module_name) est un alias de nmm('uninstall', module_name). La suppression retourne un rapport lorsqu'il est demande, avec les chemins supprimes, les dependances inverses et l'etat de modification des modules installes.

nmm('remove', module_name, version) supprime uniquement la version installée sélectionnée. Sans argument de version, toutes les versions installées du module sont supprimées. nmm('remove', module_name, '-dry-run') retourne l'impact sans effacer de fichiers. Par defaut, la suppression est refusee lorsque des modules installes dependent encore du paquet; utiliser -force pour le supprimer quand meme.

nmm('orphans') liste les paquets de dependance installes automatiquement qui ne sont plus atteignables depuis les modules installes explicitement. nmm('autoremove', '-dry-run') rapporte ces paquets sans les supprimer, et nmm('autoremove') les supprime avec force explicite car ils sont deja classes comme dependances orphelines. Les deux commandes supportent la sortie '-json' pour les scripts.

nmm('package', module_name, destination_dir) empaquette un module dans un fichier zip.

Le fichier module-lock.json généré conserve les versions exactes des dépendances installées, le format du verrou, le type de paquet (source ou binary), les métadonnées de source, la version de Nelson, l'architecture, le tag ABI et les checksums des fichiers installés essentiels comme module.json, loader.m, builder.m et les scripts de démarrage ou de fin. Le module empaqueté décrit ainsi l'ensemble de dépendances, le contexte d'exécution et l'état d'intégrité utilisés lors de la construction.

L'empaquetage écrit aussi package_filename.sha256. Ce sidecar est optionnel pour une distribution en fichier unique : l'installation ou la publication d'une archive .nmz le vérifie lorsqu'il est présent, sinon elle s'appuie sur les checksums embarqués dans module-lock.json.

nmm('pack', module_path, destination_dir) valide et construit un module source dans un répertoire temporaire, exécute les tests du module avec arrêt au premier échec, génère module-lock.json, puis crée une archive .nmz et son checksum .sha256.

nmm('pack', module_path, '-dry-run') valide, construit, teste et calcule le lockfile sans creer d'archive. Avec un repertoire de destination, le rapport contient aussi le chemin d'archive qui serait ecrit.

nmm('pack', module_path, destination_dir, '-no-tests') crée l'archive sans exécuter les tests du paquet. Cette option vise uniquement les archives locales de développement.

Par défaut l'archive exclut les répertoires de gestion de version, les sorties de compilation (bin/, x64/, fichiers objets et bibliothèques, caches cmake) et les fichiers temporaires d'éditeur, de sorte qu'un module empaqueté est propre sans aucune configuration. Un fichier .nmignore à la racine du module ajoute des exclusions avec des motifs à la manière de gitignore (commentaires #, *, **, un / final pour un répertoire, un ! initial pour réinclure, un nom sans barre oblique correspond à n'importe quelle profondeur tandis qu'un motif avec barre oblique est ancré à la racine du module) ; un fichier dont le répertoire parent est exclu ne peut pas être réinclus. Un tableau files optionnel dans module.json est une liste blanche de motifs glob : lorsqu'il est présent, seuls les fichiers correspondants sont empaquetés (toujours moins les exclusions par défaut, et en conservant toujours module.json, module-lock.json et loader.m). nmm('pack', module_path, '-dry-run') liste exactement les fichiers qui seraient empaquetés, afin de vérifier la sélection avant d'écrire une archive.

nmm('lock', module_path) construit le loader source si nécessaire et écrit ou rafraîchit module-lock.json dans l'arborescence source sans installer ni empaqueter le module. nmm('lock', module_path, '-dry-run') retourne le lock calcule sans l'ecrire. nmm('lock', module_path, '-check') indique si le lockfile courant est a jour. nmm('lock', module_path, '-diff') retourne aussi le lock courant et le lock attendu.

nmm('publish', package_filename) publie une archive .nmz verifiee dans le fichier JSON du registre local configure. La commande ajoute les metadonnees du paquet depuis module.json, dont le resume, la description, la licence, les auteurs, le depot, les tags et le type de paquet lorsqu'ils existent, ainsi que le chemin source et le checksum SHA-256, puis ecrit registry.json.sha256. Lorsque NELSON_NMM_REGISTRY_SIGNING_KEY contient une graine privee Ed25519 (64 caracteres hexadecimaux), elle ecrit aussi le sidecar registry.json.sig : un document JSON portant la signature Ed25519 des octets exacts du registre et la cle publique correspondante (voir crypto.ed25519.sign).

nmm('publish', package_filename, '-dry-run') verifie l'archive, lit le registre local cible et retourne l'entree qui serait ecrite sans modifier les fichiers. nmm('publish', package_filename, '-check') indique si la publication est possible. nmm('publish', package_filename, '-force') remplace explicitement une entree existante avec le meme paquet et la meme version. -json retourne le rapport de publication en JSON.

nmm('publish', package_filename, '-source', url) enregistre url (une adresse http ou https, typiquement un lien de telechargement de release) comme source de l'archive au lieu du chemin local d'empaquetage. La somme de controle reste calculee a partir de l'archive locale publiee, qui doit etre identique au fichier heberge. C'est ainsi qu'un registre heberge reference ses archives.

Un paquet binaire (builtin) est specifique a une architecture, donc son archive est stockee sous une table artifacts indexee par architecture (par exemple win64 et woa64). Publier une autre architecture de la meme version fusionne dans la meme entree de registre au lieu de la remplacer, de sorte qu'un meme nom et une meme version peuvent livrer plusieurs architectures publiees a des moments differents ; seule la republication de la meme architecture necessite -force. A l'installation, l'archive correspondant a l'architecture courante est selectionnee. Les paquets source conservent la plateforme all avec une source et une somme de controle uniques.

nmm('validate', module_path) valide le descripteur du module avant installation ou empaquetage.

La validation vérifie les champs obligatoires, la syntaxe du nom de module, la syntaxe de version sémantique, les plateformes supportées, la compatibilité avec la version de Nelson, le type de builtin, l'expression de licence SPDX, les déclarations de dépendances et la structure du module source. Un module source valide doit fournir builder.m ou loader.m, etc/startup.m, etc/finish.m, help et tests. L'empaquetage exige aussi au moins un fichier de test et s'arrête lorsqu'un test du paquet échoue.

nmm('validate', module_path, '-strict') exige aussi des métadonnées orientées publication comme repository, homepage et des keywords non vides, ainsi qu'au moins un test et un fichier d'aide XML.

nmm('validate', module_path, '-warnings') retourne des avertissements non bloquants pour les metadonnees faibles comme une description absente, un depot absent ou une aide reduite au chapitre.

nmm('validate', module_path, '-json') retourne un rapport de validation JSON au lieu d'émettre des erreurs de validation.

Les archives empaquetées sont aussi vérifiées après construction : loader.m et module-lock.json doivent exister avant l'écriture ou l'installation d'une archive .nmz.

nmm('audit') vérifie les enregistrements des modules installés.

L'audit vérifie les chemins installés, module.json, module-lock.json, la compatibilité de plateforme verrouillée, la compatibilité d'ABI Nelson des paquets binaires, les dépendances verrouillées et les checksums du lockfile. Il retourne une struct avec les champs ok et issues.

nmm('audit', package_name) execute les memes verifications pour un seul package installe.

nmm('audit', '-json') retourne le même rapport d'audit encodé en JSON pour les usages CI.

nmm('doctor') retourne le rapport d'audit avec la version Nelson, l'architecture, le tag ABI, usermodulesdir(), le registre configuré, le répertoire de cache et les noms des modules cassés.

nmm('doctor', package_name) retourne le meme diagnostic pour un seul package et inclut son rapport status.

nmm('repair') supprime les entrées cassées de modules.json dont le chemin installé est absent. La commande retourne la liste des entrées supprimées.

nmm('search', query), nmm('info', package_name) et nmm('versions', package_name) lisent l'index du registre configuré.

nmm('search', query, '-json'), nmm('info', package_name, '-json') et nmm('versions', package_name, '-json') retournent une sortie JSON pour les workflows CI et scripts.

Par défaut, search rapporte l'ensemble du registre indépendamment de la machine courante. nmm('search', query, '-platform') ne conserve que les paquets installables sur l'architecture courante (leur champ platforms contient computer('arch') ou all) ; c'est un opt-in pour que les scripts obtiennent par défaut des résultats indépendants de la machine, et les couches de présentation comme la fenêtre du gestionnaire de paquets l'utilisent pour masquer les paquets construits pour une autre architecture.

nmm('registry', 'check') verifie le registre configure (fichier local ou source distante), son sidecar checksum et son sidecar de signature Ed25519, puis retourne un rapport de diagnostic incluant la cle de signature, le nombre de cles de confiance et, pour un registre distant, la copie en cache et l'etat hors ligne.

nmm('registry', 'validate') est un alias de check. nmm('registry', 'stats') retourne les compteurs d'entrees, de packages uniques, la liste des plateformes et les compteurs de checksums/signatures. nmm('registry', 'list') retourne le registre configure, les packages et les stats. nmm('registry', 'doctor') combine la validation du registre avec les doublons, sources manquantes, packages non signes et packages sans checksum.

La source du registre est NELSON_NMM_REGISTRY si elle est définie, sinon registry.json dans usermodulesdir(). La source peut être un fichier JSON local ou un endpoint distant (http://, https:// ou file://). Les fichiers de registre locaux doivent avoir un sidecar registry.json.sha256 et sont vérifiés avant lecture ; si registry.json.sig est présent, sa signature Ed25519 doit être valide et provenir d'une clé de confiance. Les registres distants sont téléchargés en octets bruts avec registry.json.sig, vérifiés avant l'analyse du JSON, puis mis en cache dans le répertoire de cache nmm : si la source est injoignable, la dernière copie vérifiée est revérifiée et utilisée (mode hors ligne). Un registre distant sans signature est refusé sauf si NELSON_NMM_REGISTRY_ALLOW_UNSIGNED=1 est défini (un avertissement est émis une fois par session). Les clés de confiance sont les clés officielles du registre Nelson embarquées dans Nelson, les clés listées dans NELSON_NMM_REGISTRY_PUBLIC_KEY (séparées par ';', 64 caractères hexadécimaux chacune) et la clé dérivée de NELSON_NMM_REGISTRY_SIGNING_KEY. L'installation d'une entrée d'archive vérifie aussi le checksum du paquet avant extraction.

nmm('outdated') liste les modules installés pour lesquels le registre contient une version sémantique plus récente.

nmm('update') met à jour les modules installés vers la dernière version du registre. Avec un nom de module, seul ce module est mis à jour.

nmm('update', module_name, '-dry-run') retourne le plan de mise à jour sans modifier les modules installés.

nmm('update', '-dry-run') retourne le plan de mise a jour de tous les modules installes sans les modifier.

nmm('cache', 'dir') retourne le répertoire du cache local d'archives et nmm('cache', 'clear') le vide. L'installation d'une archive .nmz vérifiée la stocke dans le cache.

nmm('cache', 'list') liste les paquets offline actuellement disponibles dans le cache local.

nmm('cache', 'size') retourne le nombre d'archives et la taille totale en octets. nmm('cache', 'remove', package_name, version) supprime une archive en cache et son checksum.

nmm('cache', 'info', package_name, version) retourne le chemin de l'archive en cache, le checksum, la taille et la date. nmm('cache', 'has', package_name, version) retourne true lorsque cette archive est disponible.

nmm('cache', 'add', package_filename) verifie et precharge une archive locale .nmz dans le cache. nmm('cache', 'export', destination_dir) copie les archives en cache et les checksums vers un repertoire. nmm('cache', 'import', source_dir) verifie et importe les archives en cache depuis un repertoire.

nmm('cache', 'verify') vérifie les archives du cache et signale les entrées corrompues. nmm('cache', 'prune') supprime les anciennes versions en cache en gardant la dernière version en cache de chaque paquet. nmm('cache', 'prune', '-dry-run') retourne les memes suppressions sans effacer les fichiers.

nmm('install', package_name, '-offline') installe la version de paquet la plus récente présente dans le cache, sans lire le registre ni la source du paquet.

nmm('install', package_name, version, '-offline') installe une version exacte depuis le cache local, ou la version en cache la plus récente correspondant à une contrainte semver, sans lire le registre ni la source du paquet. Ajouter '-dry-run' verifie le plan de l'archive en cache sans l'installer.

💡Exemples
Deploy module_skeleton_basic template
if ~ismodule('module_skeleton_basic')
    nmm('install', 'https://github.com/nelson-lang/module_skeleton_basic.git#v1.0.0');
    macro_sum(3, 4)
    nmm('uninstall', 'module_skeleton_basic')
end
Package a module
if ~ismodule('module_skeleton_basic')
    nmm('install', 'https://github.com/nelson-lang/module_skeleton_basic.git#v1.0.0');
end
package_filename = nmm('package', 'module_skeleton_basic', tempdir())
🔗Voir aussi
ismodulegetmodulesnmm_gui
🕔Historique des versions
Version Description
1.0.0 version initiale
2.0.0 workflows de gestion de paquets, registre, lockfile et cache
Modifier cette page sur GitHub