我在项目中本地安装了bower,在其中创建了一个文件夹'node_modules'和'bower'。然后我在命令行上运行bower:
$ bower
bower: команда не найдена (command not found)
这是为什么?如果我安装bower全局一切正常。
答案 0 :(得分:8)
npm install -g bower
重要的部分是-g
标志,因为它通知npm“全局”安装它。这意味着npm将在Node.js二进制文件夹(位于PATH
)中的bower二进制文件 * 中创建symlink。这允许你的shell(无论是Bash,zsh,csh等)来查找命令。
npm install bower
?只需运行npm install bower
即可将给定的软件包安装到node_modules/{package}
下的当前文件夹中。如果你这样做并尝试从命令行运行bower
,你的shell将不知道在哪里找到bower
命令,因为它不在你的PATH
中(因此“命令不是发现“错误”。
正如@Jason在评论中指出的那样,您可以通过运行./node_modules/bower/bin/bower
显式运行bower二进制文件 * 。当像这样运行时,shell将知道在哪里找到命令。如果需要,您可以将其替换为更短的内容:
alias bower="./node_modules/bower/bin/bower"
* 我非常松散地使用二进制这个词。它更像是一个标记为可执行文件,文件顶部有shebang。