在LEAN Stack Package的 NPM 包管理器列表中,页面右上角显示了以下安装说明:
npm 安装精益堆栈
我需要它说:
npm install -g 精简堆栈
我已经阅读了 package.json 文档,但找不到任何指定的内容。我还在package.json中将 preferGlobal 变量设置为 true ,这也没有任何区别。
在LEAN Stack Package的 NPM 包管理器列表中,页面右上角显示了以下安装说明:
npm 安装精益堆栈
我需要它说:
npm install -g 精简堆栈
我已经阅读了 package.json 文档,但找不到任何指定的内容。我还在package.json中将 preferGlobal 变量设置为 true ,这也没有任何区别。
无法像npm install packageName -g
在 npmjs.com 中那样显示。您不能强制人们将您的模块用作全局模块,实际上 npm 除非必要,否则不建议使用全局模块。
就像全局变量有点粗俗,但在某些情况下也是必要的一样,全局包很重要,但如果不需要,最好避免使用。
此外,如果您要部署到其他服务器等,甚至可以在本地使用全局模块以冻结包版本。
例如,使用istanbul进行测试覆盖,您可以在全局范围内使用该包,并且键入起来更简单,istanbul test
但是在本地安装istanbul将冻结package.json文件中的版本,以便无论更新如何都能保持工作。
您在本地安装并编写node node_modules/istanbul/index.js test
伊斯坦布尔只是这里的一个示例用例。
如果您的包主要是一个应该全局安装的命令行应用程序,则将此值设置为 true 以在本地安装时提供警告。
它实际上并没有阻止用户在本地安装它,但如果它不能按预期工作,它确实有助于防止一些混乱。
设置preferGlobal: true
不足以在本地安装时触发警告。
为了获得消息,您必须检查以下清单:
有效的 package.json 文件。
包含文件中dependencies
的对象package.json
(即使它是空的)
在这些情况下,您不会看到此消息:
如果您在非 npm 项目中(没有package.json
)。
如果您在一个 npm package-project 目录中,该目录恰好已经将该包安装为本地依赖项。
来源: