什么时候应该使用`sudo`来表示`npm install -g cordova`?

时间:2014-03-06 13:15:23

标签: cordova npm sudo command-line-interface

我正在查看PhoneGap / Cordova CLI文档http://docs.phonegap.com/en/3.4.0/guide_cli_index.md.html#The%20Command-Line%20Interface,它建议将Cordova CLI安装为sudo

    $ sudo npm install -g cordova

然而,我的linux同事已经踢了我的* s使用sudo willy nilly,所以它在安装软件包时肯定需要它还是我可以在没有它的情况下继续使用正常的Cordova CLI?

谢谢,DanC

1 个答案:

答案 0 :(得分:0)

cordova包旨在用作命令行实用程序,而不是其他Node.js代码中require('cordova')的模块。 -g(或全局安装)选项会将cordova模块安装在npm's prefix config setting指定的位置:

  

前缀配置默认为安装节点的位置。在大多数系统上,这是/usr/local

您可以使用npm config get prefix查看此设置的当前值。

通常,使用全局安装选项会将全局模块的任何shell脚本(如cordova脚本)添加到shell搜索$PATH可见的位置。这使您可以执行cordova create foo之类的命令,而无需指定cordova shell脚本的路径。

我怀疑您的前缀路径不是/usr/local,或者您的用户帐户必须具有前缀文件夹的写权限。典型设置不会向/usr/local授予普通用户写入权限,因此需要sudo。我个人更喜欢使用sudo来安装,而不是向普通用户授予对/usr/local的写访问权限。