我在项目中本地安装了Bower,创建了一个名为“node_modules”的文件夹和一个名为“bower”的子文件夹。然后我在命令行上运行了Bower:
为什么会这样?如果我全局安装bower,一切都正常工作。
$ bower
bower: команда не найдена (command not found)
为什么会这样?如果我全局安装bower,一切都正常工作。
$ bower
bower: команда не найдена (command not found)
npm install -g bower
-g
标志,因为它告诉npm将其“全局”安装。这意味着npm将在您的Node.js二进制文件夹中创建一个symlink到bower二进制文件*。这允许您的shell(无论是Bash、zsh、csh等)找到该命令。npm install bower
,为什么不起作用?npm install bower
会将给定的软件包安装到node_modules/{package}
下的当前文件夹中。如果您这样做并尝试从命令行运行bower
,您的shell将不知道在哪里找到bower
命令,因为它不在您的PATH
中(因此出现“找不到命令”的错误)。./node_modules/bower/bin/bower
来显式运行bower二进制文件*。像这样运行时,您的shell将知道在哪里找到该命令。如果需要,您可以将其别名为更短的名称:alias bower="./node_modules/bower/bin/bower"
* 我在这里非常宽泛地使用“二进制”一词。实际上,它更像是一个带有shebang的可执行文件。
bower EINVALID The name has to end with a lower case character from a to z
。编辑:为了解决这个问题,我只需要一个包含至少填写了“必需”字段的bower.json文件。 - Con Antonakos
bower
命令。虽然您也可以这样使用本地安装的Bower:./node_modules/bower/bin/bower install
。 - Jasonnpm install -g bower
全局安装它。 - Bojangles