Skip to content

实现一个本地npm全局包

全局安装的模块,只能让在命令行里面使用,

自己实现一个全局包的基本步骤

1. 需要在package.json里面配置bin命令

json
{
  "name":"test-pkg",
  "bin":"./bin/www"  // 命令行使用的是name字段

 // 或者,配置命令行命令简化方式,使用abc替代了test-pkg
  "bin":{
     "abc":"./bin/www"
   }
}

2. 指定www文件执行方式

可执行文件(/bin/www)里面需要指定执行方式, 例如node方式执行:#! /usr/bin/env node;wwww文件可以不指定后缀名,但是需要制定执行方式,

3. 将此包放到npm下

可以全局安装,或者为了调试方便,零时做一个 npm link,只能自己使用。(运行npm link即可)

若要移除npm link隐射号的全局模块路径。可以运行npm run unlink xxxnpm link命令会将可执行命令添加到全局环境变量里面,运行配置的命令,会通过link路径找到当前这个包的可执行文件从而运行。