用户登录

有些包其实是个命令行工具,比如很多应用框架就给你提供一个命令行工具,可以用它快速创建项目还有项目需要的一些组件。再比如之前我们安装的 TypeScript 它也带了一个命令行工具。

这些包里面带的可以执行的命令一般都会放在项目的 node_modules 里的 .bin 这个目录的下面。你会发现在项目里安装了 typescript 这个包以后,会在 node_modules/.bin 这个目录里面,多了一个 tsc 这个东西。它就是这个包里带的一个命令行工具。

以后在项目里安装了其它的包,里面带的命令行工具也会放在这个目录的下面。

要使用这个命令行工具可以这样,在终端,先确定当前是在项目所在目录的下面,先试一下,直接执行 tsc 这个命令。 提示 command not found ,没有找到这个命令。

要使用这个命令我们可以输入它的完整的路径,或者相对于当前这个目录的下面,这里就是当前目录下面的 node_modules 里的 .bin 这个目录。执行一下它里面的 tsc ,会出现一些提示信息,说明成功执行了这个 tsc 命令。

如果你想直接在项目里使用这个 tsc 命令,需要做点配置,怎么配置取决于我们用的命令行界面是什么。我们先在 macOS 系统里配置一下终端,在下面的视频里再配置 Windows 上的 Cmder 。

macOS 系统自带的终端,之前用的是 Bash,后来换成了 Zsh。 我的这个终端用的是 Zsh,所以要编辑一下专门为它准备的配置文件。可以用 vi 这个命令,编辑一下用户主目录下的 .zprofile 这个文件。 按一下键盘上的 i 这个按钮,进入编辑模式。

打开这个输入一行配置信息,export PATH 等于 $PATH 冒号,然后是当前目录下的 node_modules 里的 .bin 这个目录。

这样在执行命令行时候,终端会在当前目录下面的 node_modules/.bin 这个目录里面,寻找有没有要执行的这个命令。 按一下 esc ,然后再输入 :wq ,按一下回车,意思是保存并退出。

让配置立即生效可以重新打开终端,或者执行一下 source ~/.zprofile 。 再试一下,执行 tsc ,你会发现一些帮助信息。说明成功执行了这个命令,这次我们在执行它的时候并没有输入这个命令的路径。终端会自动在当前目录下的 node_modules 里的 .bin 下面寻找有没有要执行的这个命令。

有些带命令行工具的包需要在全局范围安装它们,这样在任何地方都可以使用这个命令。先新建一个标签,当前位置是在用户主目录的下面。执行一下 tsc,你会发现提示没找到这个命令。

下面可以在全局范围安装一下 typescript 这个包,执行 npm install 安装 typescript ,这次加上一个 --global 选项,意思就是在全局范围安装这个包。这样 npm 会把安装的包放在一个特定的地方。

安装完成以后,再执行一下 tsc ,出现了一些提示信息,说明成功执行了这个命令。这次我们用的这个 tsc 命令是安装在全局范围的一个包里提供的。

比如后面我们要安装使用的 TypeScript,它里面提供了一个 tsc 命令,可以用来编译项目。

这些命令行工具可以在全局范围安装,也可以安装在某个具体的项目里。如果把它安装在全局范围,这样这个命令行工具就可以在任何地方使用。如果把它安装在项目里,就只能在这个项目所在目录的下面使用这个命令。

如果是安装框架带的这种命令行工具,你可以选择在全局范围安装它,这样你就可以在任何地方创建项目了。在全局范围安装命令行工具,可以在 npm install 命令里面加上 --global 这个选项,它的简写形式是 -g 。在全局范围安装的包,会放到一个特定的目录下面。包里带的可以执行的命令,一般会放在一个叫 .bin 的目录下面。

带命令行工具的包《 Node.js 服务端应用开发:管理包裹 》

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点