“npm install”命令存在
当您键入非法的npm
命令时,您将收到一条用户友好的错误消息,指出哪些命令合法使用:
$ npm illegal
Usage: npm <command>
where <command> is one of:
add-user, adduser, apihelp, author, bin, bugs, c, cache,
completion, config, ddp, dedupe, deprecate, docs, edit,
explore, faq, find, find-dupes, get, help, help-search,
home, i, info, init, install, isntall, issues, la, link,
list, ll, ln, login, ls, outdated, owner, pack, prefix,
prune, publish, r, rb, rebuild, remove, repo, restart, rm,
root, run-script, s, se, search, set, show, shrinkwrap,
star, stars, start, stop, submodule, tag, test, tst, un,
uninstall, unlink, unpublish, unstar, up, update, v,
version, view, whoami
正如您可能注意到的那样,有isntall
命令。
这个命令有什么意义?如果这是为了处理拼写错误而创建的,那么为什么它没有对intall
,insatll
等进行特殊处理?此外,uninstall
没有相应的unisntall
选项。
(使用npm 1.3.22
版本)。
我问的原因是我对如何处理拼写错误感到有些惊讶和困惑。例如,git
会比较您输入的命令并建议最近的命令:
$ git stats
git: 'stats' is not a git command. See 'git --help'.
Did you mean this?
status
此外,pip
Python package manager内置了类似的功能:
$ pip isntall
ERROR: unknown command "isntall" - maybe you meant "install"
仅供参考,under-the-hood它使用difflib.get_close_matches()
功能。
我是Github上关联问题的原始“提升者”,那些是OSS软件贡献的第一天......我认为这只是一个错字,也许拉动请求可以解决它。但我很幸运能够首先找到raise an issue (#2933),以了解他们是否正在寻找那方面的贡献......
事实证明,它解决了围绕这个问题的整个讨论,这很好看。
isntall
命令的存在理由是因为npm
维护者认为它节省了时间 - 因此,通过扩展 - 其他几个开发人员。正如在链接问题中所讨论的那样,这是一个有争议的决定,并且有几个人提出了更有趣的方法来解决拼写错误,例如使用来自有效npm命令(https://www.npmjs/package/levenshtein)的非法命令的levenshtein距离计算。
无论如何,我认为你是否实现了其中一个算法并为npm项目做出贡献,这对于这个令人敬畏的库来说是一个很好的补充......
“npm install”命令存在
当您键入非法的npm
命令时,您将收到一条用户友好的错误消息,指出哪些命令合法使用:
$ npm illegal
Usage: npm <command>
where <command> is one of:
add-user, adduser, apihelp, author, bin, bugs, c, cache,
completion, config, ddp, dedupe, deprecate, docs, edit,
explore, faq, find, find-dupes, get, help, help-search,
home, i, info, init, install, isntall, issues, la, link,
list, ll, ln, login, ls, outdated, owner, pack, prefix,
prune, publish, r, rb, rebuild, remove, repo, restart, rm,
root, run-script, s, se, search, set, show, shrinkwrap,
star, stars, start, stop, submodule, tag, test, tst, un,
uninstall, unlink, unpublish, unstar, up, update, v,
version, view, whoami
正如您可能注意到的那样,有isntall
命令。
这个命令有什么意义?如果这是为了处理拼写错误而创建的,那么为什么它没有对intall
,insatll
等进行特殊处理?此外,uninstall
没有相应的unisntall
选项。
(使用npm 1.3.22
版本)。
我问的原因是我对如何处理拼写错误感到有些惊讶和困惑。例如,git
会比较您输入的命令并建议最近的命令:
$ git stats
git: 'stats' is not a git command. See 'git --help'.
Did you mean this?
status
此外,pip
Python package manager内置了类似的功能:
$ pip isntall
ERROR: unknown command "isntall" - maybe you meant "install"
仅供参考,under-the-hood它使用difflib.get_close_matches()
功能。
我是Github上关联问题的原始“提升者”,那些是OSS软件贡献的第一天......我认为这只是一个错字,也许拉动请求可以解决它。但我很幸运能够首先找到raise an issue (#2933),以了解他们是否正在寻找那方面的贡献......
事实证明,它解决了围绕这个问题的整个讨论,这很好看。
isntall
命令的存在理由是因为npm
维护者认为它节省了时间 - 因此,通过扩展 - 其他几个开发人员。正如在链接问题中所讨论的那样,这是一个有争议的决定,并且有几个人提出了更有趣的方法来解决拼写错误,例如使用来自有效npm命令(https://www.npmjs/package/levenshtein)的非法命令的levenshtein距离计算。
无论如何,我认为你是否实现了其中一个算法并为npm项目做出贡献,这对于这个令人敬畏的库来说是一个很好的补充......