我以为我明白了
npm link x
和
npm install /local/path/to/x
最初我认为前者创建了一个指向x的符号链接,而后者在您的项目中安装了一个单独的x副本,而不是符号链接。
然而,我最近注意到我最初的印象是错误的,它们似乎都使用符号链接-所以两者之间有区别吗?
发布于 2018-06-05 05:29:54
Alex Mills的An article on Medium赤裸裸地展示了这一点。
它说,npm link x
和npm install /local/path/to/x
之间的区别是:
npm install /local/path/x
将运行预安装/安装后挂钩,但是npm link x
将使用全局NPM空间,而npm install /local/path/x
不会。npm link在全局空间中创建一个到x的symlink,然后当您从y调用npm link x时,它不是直接创建到x的symlink,而是创建到全局symlink的symlink。如果您使用不同的全局node.js版本,这是一个重要的差异,例如,NVM.npm install /absolute/path/x
将更改package.json,而npm link x
不会。要获得新的本地副本而不是符号链接,请使用npm pack
,如下所示:
tgz="$PWD/$(npm pack)"
cd <other project>
npm install "$tgz"
您也可以使用cp/rsync,但这不会运行安装挂钩或将可执行文件放入node_modules/.bin
...that中。
发布于 2018-06-12 13:11:33
npm链接
npm link
npm link <folder>
以上两个命令都将在全局包中创建<folder>
的符号链接。
现在,npm link <folder>
将在您的node_modules
文件夹中为您的当前项目提供相同的符号链接。这些名称将基于package.json
中的项目名称,而不是基于要链接的文件夹名称
当前项目的package.json
不会被触摸或更改
仍将安装软件包的依赖项,如您在此处的代码中所见
所以总结一下
npm安装
现在npm install <folder>
和这个有点不同
它不会在全局文件夹中创建符号链接,而是会更改并添加对package.json
https://stackoverflow.com/questions/50674052
复制相似问题