“npm install -g xxx”安装到什么地方?

例如, npm install -g sinopia

在windows7上,我将在C:\ Users \ xxxx \ AppData \ Roaming \ npm中安装sinopia命令和相关模块

在Redhat5上,我的节点和npm命令位于/usr/local/clo/ven/node-v4.2.3-linux-x64/bin。 当我运行'npm install -g sinopia'时,默认情况下,sinopia被安装在当前目录下,如下所示。 在这里输入图像描述

但是目前我有一台装有其他人装的sinopia的linux机器。 我在node / bin里找不到sinopia的启动脚本,我可以在下面findsinopia相关的东西。 在这里输入图像描述 。 我在哪里可以findsinopia的开始脚本? 是否可以configuration'npm install -g xxx'的安装位置?

npm将软件包全局安装到其全局“root”。 要查找给定环境中的全局根目录,请运行npm root -g

它通常在“前缀”目录中,你可以在npm prefix -gfind它。

请注意,您也可以使用npm config -g set prefix </new/prefix/path>更改前缀目录。


回答你更具体的问题

为了findsinopia可执行文件,你可以在linux上运行which sinopia (你可能需要在RedHat上安装which ,它应该在你的软件包源代码中可用)。 它将为您提供将为sinopia命令执行的文件的path名。

但是这可能是另一个位置的符号链接; 解决你可以在bash上使用readlink -f $(which sinopia)的path名。 -f选项告诉readlinkrecursion地跟踪链接。 $(which sinopia)将被which sinopia命令的输出replace。

我看到这个快速编辑已经在上面回答了。

要通过npm查找全局安装的软件包的安装位置,请运行以下命令:

npmconfiguration获取前缀

要更新这个你可以使用下面的命令:

npmconfiguration设置前缀path

来源: npm全局path前缀