2

例如,npm install -g sinopia

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

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

但目前我有一台linux机器,它已经由其他人安装了sinopia。我在 node/bin 中找不到 sinopia 的启动脚本,我可以找到如下所示的 sinopia 相关内容。 在此处输入图像描述. 哪里可以找到sinopia的启动脚本?npm install -g xxx 的安装位置是否可以配置?

4

2 回答 2

2

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

它通常位于“前缀”目录中,您可以使用npm prefix -g.

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


回答您更具体的问题

为了找到sinopia可执行文件,您可以which sinopia在 linux 上运行(您可能需要which在 RedHat 上安装,它应该在您的包源中可用)。它将为您提供将为该sinopia命令执行的文件的路径名。

但这可能是指向另一个位置的符号链接;解析可以readlink -f $(which sinopia)在 bash 上使用的路径名。该-f选项告诉readlink递归地跟踪链接。$(which sinopia)将由which sinopia命令的输出代替。

于 2016-01-14T02:56:12.007 回答
0

正如我所见,快速编辑已经在上面得到了回答。

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

npm 配置获取前缀

要更新它,您可以使用以下命令:

npm config 设置前缀路径

来源:npm 全局路径前缀

于 2016-01-14T03:02:22.907 回答