在没有--save标志的情况下全局安装npm软件包仍然有一个package.json或等价物

时间:2016-01-17 09:13:26

标签: node.js npm

我在OS X上,我打算在不久的将来升级我的mac,我很想知道是否有一个package.json或npm组件可用于我已经安装的软件包。我可以确保在那个时候转移到新机器上,这使得重新获得其中一些更容易,因为我个人忘记了我已经安装的许多软件包。

此外,我的问题是未来的问题是,管理日常生活的依赖关系是否有任何良好的做法,这将使移动到新计算机或在多台计算机上工作更容易

1 个答案:

答案 0 :(得分:3)

npm ls -g --depth=0

此命令列出所有全局安装的软件包。

使用一些unix实用程序,我们可以将此命令的输出转换为npm install可以使用的字符串。

npm ls -g --depth=0 | sed '1d' | cut -c5- | tr '\n' ' '

此命令为您提供已安装的每个全局程序包的空格分隔字符串,并带有确切的版本号。您只需复制粘贴此字符串,然后在新计算机上运行npm install -g即可。

这适用于我{n} 3.5.3npm ls命令的输出可能因版本号而异,因此可能无法为您工作。如果是这样,请调整管道或尝试安装我的npm版本(不会影响您的其他软件包)。

我并不知道在计算机之间传输全局包的简单方法。当您在没有--save的情况下安装软件包时,它只会将文件夹下载到您的全局软件包位置 By design,使用package.json全局安装软件包也是不可能的。