npm link

🌙
手机阅读
本文目录结构

链接到包文件夹

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

alias: npm ln

程序包链接是一个两步过程。

首先,npm link 在包文件夹中,将在全局文件夹{prefix}/lib/node_modules/<package>中创建一个符号链接,该 链接链接到 npm link 执行命令的包。(请参阅 [npm config](/api/npm/cli/npm-config.html) 以获取的值 prefix)。它还会将包装中的所有垃圾箱链接到{prefix}/bin/{name}

接下来,在其他位置,npm link package-name 将创建一个从全局安装 package-name 到 node_modules/ 当前文件夹的符号链接。

请注意,该 package-name 取自 package.json,而不是目录名称。

包名称可以可选地以范围为前缀。请参阅 npm-scope。作用域之前必须加一个 @符号,再加上一个斜杠。

在为创建 tarball 时 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 redis

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

请注意,在这种情况下,您指的是目录名 node-redis,而不是包名 redis。

如果链接的程序包是作用域的(请参阅参考资料 npm-scope),则 link 命令必须包含该作用域,例如

npm link @myorg/privatepackage

AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili

关注我: Github / 知乎

于2021年离开前端领域,目前重心放在研究区块链上面了

我叫朱安邦,阿西河的站长

目前在杭州从事区块链周边的开发工作,机械专业,以前从事平面设计工作。

2014年底脱产在老家自学6个月的前端技术,自学期间几乎从未出过家门,最终找到了满意的前端工作。更多>

于2021年离开前端领域,目前从事区块链方面工作了