见例如:https://npmjs.org/package/generator-meteor涉及npm
NodeJS:为什么安装说明总是说要使用NPM install -g(全局)?
几乎所有的安装说明说使用npm install -g
。为什么我想要全局安装一切,而不仅仅是为我当前的* nix用户安装?
见例如:https://npmjs.org/package/generator-meteor涉及npm
NodeJS:为什么安装说明总是说要使用NPM install -g(全局)?
几乎所有的安装说明说使用npm install -g
。为什么我想要全局安装一切,而不仅仅是为我当前的* nix用户安装?
,而不是只为我当前的* nix用户
在这种情况下本地的意思是“只有一个节点应用”,而不是“只为我的用户”。分别地,全局意味着“针对所有节点应用”,而不是“针对该计算机上的所有用户”。
全局安装的NPM模块通常会实现跨应用程序使用的功能,而不只是在一个项目中使用。一个例子是一个命令行工具。您可以在全局安装npm软件包,并为您提供一种从操作系统终端调用命令的方法。由于这在一个应用程序中没有任何意义,因此您必须将其安装在全球NPM位置。当然,在安装之前,您需要确保模块真的需要跨应用程序工作。
您已链接的生成器由Yeoman使用,它是脚手架应用程序的命令行工具。因此全球需求。
当您在package.json所在的目录中执行npm install
时,npm会创建一个node_modules文件夹并将其放入所有项目包需求。
当你做npm install -g
安装的软件包到/usr/lib/node_modules/
使它们全球可用。 (-g代表'global')并允许CLI实现。像快递(如express --sessions project
,至极无法使用,无需安装快递全球)
几乎所有的教程需要全球的安装,因为他们使用CLI东西,以后你就能使用它们,因此是更好地为您安装它们。
但'npm install -g'需要超级用户权限。为什么它只需要为当前用户安装就需要超级用户权限? – themirror