npm-link(1) -- 为包文件夹创建软连接

基于 npm-link(1) 官方文档翻译版本

SYNOPSIS 概要

npm link (in package dir)
npm link [<@scope>/]<pkg>[@<version>]

alias: npm ln

DESCRIPTION 描述

包链接有两个步骤。

首先,在包文件夹中执行 npm link 命令,这将在全局包文件夹 {prefix}/lib/node_modules/<package> 中创建一个软连接。(参见 npm-config(7) 中的 prefix 值)。这还会将包中的任何 bin 都链接到 {prefix}/bin/{name}

接下来,在某个其他位置,npm link package-name 命令会将全局安装的 package-name 链接到当前文件夹的 node_modules/ 中。

注意:package-name 来源于 package.json 而不是目录名称。

包名称可以带作用域前缀。参见 npm-scope(7)。作用域之前必须有 @/

当为 npm publish 创建压缩包时,通过解析软链接,将链接的包“快照”到其当前的状态。

这对于安装自己的东西非常方便,可以对其进行处理和重复测试,而无需不断重复构建。

例如:

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 node-redis

也就是说,它首先创建一个全局的链接,然后将全局安装目标链接到项目的 node_modules 文件夹中。

如果链接的包是有作用域的(参见npm-scope(7)),那链接命令也必须包含该作用域,例如

npm link @myorg/privatepackage

SEE ALSO 亦可参阅

results matching ""

    No results matching ""