由于一些问题,我不得不从头开始设置我的开发机器,并且这样做,我也从Ubuntu 14.04升级到16.04。
我安装了最新的节点和npm,但我发现了一个奇怪的行为。当我在输入命令后按Tab键
npm run sta
我没有在终端上获得任何建议/自动完成功能。在上面的示例中,我希望它能自动完成
npm run start
我在package.json中定义了很多脚本,但是没有一个脚本在按下选项卡时显示为建议或自动完成。例如。在我的脚本中,我已经定义了pack-linux-x64, pack-darwin-x64
等,但是在键入
npm run pack
并按Tab键,我没有从我在package.json的脚本中定义的内容中获得建议。奇怪的是,我得到了
npm run package.json
作为我按Tab键时的建议。
当然,这不是我之前系统中的行为。
如果我自己输入命令,例如。 npm run pack-linux-x64
然后它运行没有任何问题。
我该如何解决这个问题?
答案 0 :(得分:2)
npm-completion - Tab Completion for npm
在所有npm命令中启用制表符完成。
上面的概要将完成加载到您当前的shell中。将它添加到您的 〜/ .bashrc或〜/ .zshrc将使得到处完成:
npm completion >> ~/.bashrc
npm completion >> ~/.zshrc
如果您有一个系统可以为您读取该文件,您当然也可以将npm完成的输出传递给文件,例如/usr/local/etc/bash_completion.d/npm。
当在环境中定义COMP_CWORD,COMP_LINE和COMP_POINT时,npm完成以“管道模式”运行,并根据参数输出完成。