关于 Nodejs npm 命令在 Linux 终端的自动补全

关于 Nodejs npm 命令在 Linux 终端的自动补全

以以前都没注意这个问题, 但像 Git 一样子命令一大堆是应该有补全才对 在网上大概搜索了一下, 没有很清晰的说明, 不过提到有个补全的文件 http://manpages.ubuntu.com/manpages/oneiric/man1/npm-completion.1.html http://blog.izs.me/post/1675072029/10-cool-things-you-probably-didnt-realize-npm-could-do 而且这个文件在 Node 的源码里有, 就一个 Bash 脚本 https://github.com/isaacs/npm/blob/master/lib/utils/completion.sh 同时也可以用 npm completion > ~/.bashrc 来完成… 我执行命令的时候… 这个命令少产生了一个换行, 结果导致终端里报错了… 干脆导入另外一个文件用 source 命令引入到 .bashrc 配置了 发现按下 tab 进行补全速度有点慢… 而且在 npm search 以后再 tab 会卡住 觉得命令行用着有不流畅的地方, 不知道有办法好好调整不…?


3 回复

关于 Nodejs npm 命令在 Linux 终端的自动补全

在使用 Node.js 和 npm 时,自动补全功能可以极大地提高开发效率。虽然 Git 等工具已经提供了很好的自动补全体验,但在 Node.js 和 npm 方面,自动补全的功能相对较少被提及。不过,通过一些简单的配置,我们可以在 Linux 终端中为 npm 命令实现自动补全。

如何启用 npm 命令的自动补全

首先,我们需要找到 npm 提供的自动补全脚本。该脚本位于 npm 的源码中,具体路径如下:

https://github.com/isaacs/npm/blob/master/lib/utils/completion.sh

你可以直接从 GitHub 下载这个脚本并将其添加到你的 shell 配置文件中(如 .bashrc.zshrc)。

正确配置自动补全

在 Linux 终端中,可以通过以下步骤来正确配置 npm 的自动补全:

  1. 下载并安装自动补全脚本

    你可以将自动补全脚本保存到一个临时位置,然后将其内容添加到你的 shell 配置文件中。

    curl -o ~/npm_completion.sh https://raw.githubusercontent.com/isaacs/npm/master/lib/utils/completion.sh
    
  2. 将脚本添加到 .bashrc.zshrc

    编辑你的 shell 配置文件(例如 .bashrc.zshrc),并添加以下内容:

    source ~/npm_completion.sh
    
  3. 重新加载 shell 配置文件

    执行以下命令以重新加载配置文件:

    source ~/.bashrc
    # 或者
    source ~/.zshrc
    

注意事项

  • 在执行 npm completion > ~/.bashrc 时,可能会遇到缺少换行符的问题。为了避免这种情况,建议直接使用 source 命令来导入脚本。

  • 如果你发现自动补全的速度较慢,或者在某些情况下卡住,可能是因为网络请求或脚本本身的性能问题。可以尝试优化网络环境或调整脚本中的超时设置。

通过以上步骤,你应该能够在 Linux 终端中成功启用 npm 命令的自动补全功能。这将大大提高你在使用 npm 时的效率和便捷性。


我用 npm completion >> ~/.bashrc 这个命令来添加的,添加成功了,没有报错。补全速度也还可以,稍微有点延迟。

要在 Linux 终端中启用 Node.js npm 命令的自动补全功能,可以使用 npm 自带的自动补全脚本。以下是具体步骤:

  1. 首先,从 npm 的 GitHub 仓库中获取自动补全脚本:

    curl -L https://raw.githubusercontent.com/npm/cli/v8.19.2/lib/utils/completion.sh > ~/.npm-bash-completion
    
  2. 然后,在你的 .bashrc 文件中添加以下行来加载这个脚本:

    echo 'if [ -f ~/.npm-bash-completion ]; then . ~/.npm-bash-completion; fi' >> ~/.bashrc
    
  3. 最后,使配置生效:

    source ~/.bashrc
    

现在,你应该能够在终端中使用 tab 键进行 npm 命令的自动补全了。

如果遇到性能问题或卡顿,可以考虑更新 npm 到最新版本,并确保你的 .bashrc 文件没有重复加载相同的脚本。

回到顶部