npm link 全方位解读

本文参考了NPM中文文档写作而成的

npm link 功能

链接到包文件夹

npm link 使用

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

alias: npm ln

npm link 说明

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

首先,npm link在包文件夹中,将在全局文件夹{prefix}/lib/node_modules/<package>中创建一个符号链接,该 链接链接到 npm link执行命令的包。(请参阅 [npm config](https://www.axihe.com/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

本文参考NPM中文文档

原文链接:segmentfault.com

上一篇:npm org 全方位解读
下一篇:npm help 全方位解读

相关推荐

  • 项目中npm依赖问题

    最近开发遇到一个npm依赖导致的问题,报错如下。 sloterror(https://img.javascriptcn.com/804ed4a03d02191762c1f48473ba1711 "sl...

    2 年前
  • 随记-npm

    npm npm是包管理器,方便开发人员分享,复用代码 用于搜索js模块/包的网站 npm服务器可下载或上传安装包或命令行程序 npm仓库存储安装包/安装模块 npm 安装 npm依赖于node,...

    2 个月前
  • 钢轨,JavaScript不加载后点击link_to帮手

    Ryan EndacottStickMaNX(https://stackoverflow.com/users/1181886/ryanendacott)提出了一个问题:Rails, javascrip...

    2 年前
  • 针对前端开发可重用组件并发布到NPM

    翻译:疯狂的技术宅 原文:https://www.smashingmagazine....(https://www.smashingmagazine.com/2018/07/reusablecom...

    1 年前
  • 通过npm引用的vue组件使用详解

    什么是组件:组件是Vue.js最强大的功能之一。组件可以扩展HTML元素,封装可重用的代码。在较高层面上,组件是自定义的元素,Vue.js的编译器为它添加特殊功能。

    3 年前
  • 透过 TDD 模式学习如何实现各种 npm 工具

    前言 在程序員的日常精進之中,閱讀優秀的代碼是必不可少的。透過 TDD 的開發模式,可以模仿那些優秀的代碼,從而提升自己代碼水平。下面介紹如何從零開始搭建 TDD 環境,並構建 isEven 代碼...

    2 年前
  • 边学习变记:npm 常用的几个指令(持续更新。。。)

    在当前文件夹下,地址栏输入cmd 呼出控制台。1.npm init 初始化项目,npm init y 生成默认配置。 2.查看当前使用的镜像地址:npm get registry默认镜像地址:http...

    3 个月前
  • 踩坑札记之 npm 包发布

    重点阐述 npm 包发布前后所踩坑,首先科普如何发布 npm 包。 发布流程 注册账号 开启终端输入: 根据提示输入 username、password、email 即刻注册成功,已注...

    1 年前
  • 贡献你的力量 开发一个Vue组件并发布到npm

    最近在工作中写了一个面向 PC 端的 Vue 滚动组件,关于 PC 端的滚动组件以前也用过一些,但是没有找到特别满意的,所以自己想着把这个组件开源发布出去,希望能够帮到和我有类似需求的人吧! 目标 ...

    2 年前
  • 详解node.js中的npm和webpack配置方法

    概述 Node.js用c语言编写而成的,是一个基于chrome V8引擎的javascript运行环境,让javaScript的运行脱离浏览器服务端,可以使用javaScript语言书写服务器端代码...

    2 年前

官方社区

扫码加入 JavaScript 社区