本地安装与全局安装的NPM模块

Rig*_*gil 31 windows-7 node.js npm bower

在我的package.json文件中,我将bower列为依赖项.运行后npm install,bower在本地安装.当我在本地安装它后尝试运行bower时出现错误

"bower"不被视为内部或外部命令

似乎解决这个问题的唯一方法是全球安装bower.我为什么要这样做?如果我的项目包含凉亭的本地副本,为什么节点不会使用它?

Jim*_*imi 35

本地安装使bower可用于当前项目(其中存储所有节点模块node_modules).这通常只适用于使用类似的模块var module = require('module'); .它将无法作为shell可以解析的命令,直到您全局安装它,npm install -g module而npm将在路径变量将解析此命令的位置安装它.

编辑: 这个文档解释它非常彻底.

  • 在本地使用凉亭有什么意义,例如var bower = require('bower'); ? (3认同)
  • 好吧,凉亭是一个不好的例子,因为我不认为他们通过javascript暴露api,但是```express```是我在一个有命令行界面的项目中使用的东西以及你的库在js文件中本地使用.(有关有用文档,请参阅我的编辑) (3认同)
  • 它也很有用,因为`package.json`中`scripts`块中的命令会自动解析本地命令.这意味着您可以拥有一个依赖于凉亭的脚本,而不需要对凉亭进行无证件的依赖. (2认同)

小智 19

您可以通过在cmd中键入以下行来执行本地实例:

node_modules/bower/bin/bower <bower args>
Run Code Online (Sandbox Code Playgroud)

  • 或更短:`node_modules/.bin/bower` (11认同)