如何将所有现有的全局NPM软件包安装到本地目录中?

时间:2019-07-31 22:12:50

标签: node.js npm

这既不相似,也不回答问题:copy npm global installed package to local

基本上,我想告诉NPM,看一下我在全局安装的内容,然后在本地安装。

我对符号链接不感兴趣,但是如果上面的操作不可能实现,我可以使用单个符号链接到node_modules而不是每个软件包使用符号链接吗?

1 个答案:

答案 0 :(得分:1)

您可以解析node ls -g --depth 0的输出和npm install的结果包列表。

npm i -S -dd $(npm ls -g --depth 0 | tail -n +2 | cut -c 5- | tr '\n' ' ')

在要将全局软件包安装到的软件包目录中运行此命令。

说明:

npm i -S -ddnpm install --save --verbose的简写。在最新的npm版本上,-S不必要,默认情况下会将已安装的软件包保存到package.json。

npm ls -g --depth 0列出第一级全局软件包。

tail -n +2从输出中删除第一行。

cut -c 5-从输出的每一行中删除前四个字符。

tr '\n' ' '合并每一行以将所有程序包放在一行中,并用空格隔开。