本文参考了NPM中文文档写做而成的html
连接到包文件夹node
npm link (in package dir) npm link [<@scope>/]<pkg>[@<version>] alias: npm ln
程序包连接是一个两步过程。redis
首先,npm link
在包文件夹中,将在全局文件夹{prefix}/lib/node_modules/<package>
中建立一个符号连接,该 连接连接到 npm link
执行命令的包。(请参阅 ` npm config 以获取的值 prefix)。它还会将包装中的全部垃圾箱连接到
{prefix}/bin/{name}`。npm
接下来,在其余位置,npm link package-name
将建立一个从全局安装 package-name 到 node_modules/ 当前文件夹的符号连接。json
请注意,该 package-name 取自 package.json,而不是目录名称。api
包名称能够可选地以范围为前缀。请参阅 npm-scope。做用域以前必须加一个 @符号,再加上一个斜杠。测试
在为建立 tarball 时 npm publish,经过解析符号连接将连接的程序包“快照”到其当前状态。code
这对于安装您本身的东西很方便,所以您能够对其进行处理并对其进行迭代测试,而没必要不断进行重建。htm
例如:blog
cd ~/projects/node-redis # go into the package directory npm link # creates global link cd ~/projects/node-bloggy # go into some other package directory. npm link redis # link-install the package
如今,对 ~/projects/node-redis
的任何更改都将反映在 ~/projects/node-bloggy/node_modules/node-redis/
中。请注意,连接应指向软件包名称,而不是该软件包的目录名称。
您也能够将两个步骤合为一体。例如,以较短的方式完成上述用例:
cd ~/projects/node-bloggy # go into the dir of your main project npm link ../node-redis # link the dir of your dependency
第二行等效于执行如下操做:
(cd ../node-redis; npm link) npm link redis
也就是说,它首先建立一个全局连接,而后将全局安装目标连接到项目的 node_modules 文件夹中。
请注意,在这种状况下,您指的是目录名 node-redis,而不是包名 redis。
若是连接的程序包是做用域的(请参阅参考资料 npm-scope),则 link 命令必须包含该做用域,例如
npm link @myorg/privatepackage
本文参考NPM中文文档