使用 Mac Os X Yosemite 尝试生成一些脚手架,这就是 bash 终端中返回的内容
-bash:some_command:找不到
当尝试生成或使用某些可执行命令时,我的大多数命令都会发生这种情况,例如运行、服务等。一般别名和命令(如 mv、ls、rm 等)工作正常
我检查了我的 $PATH,它似乎是正确的:
$/bin/echo $PATH /Users/user_name/.rbenv/shims:/usr/local/opt/coreutils/libexec/gnubin:/usr/local/heroku/bin:/usr/local/bin:/usr/local/sbin:/usr/local/share/npm/bin:/Users/user_name/.rbenv/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/local/git/bin
我检查了某些 npm、node、yomen、grunt 等是否显示为使用 -v 进行安装,并显示已更新和已安装。
我已经检查了我的 ~.bash_profile 的显示和别名,但一切似乎都很好。
我能估计到的最好情况是它可能与 npm 和/或 Node 以及可能与 Homebrew 有关。因此,我卸载、重新安装并研究了任何类似的问题,但似乎没有任何效果。希望有人能在这里为我指明正确的方向,因为我迷失了方向。而且我并不是最擅长环境设置的。所以可能不会看那些盯着我的脸的东西。提前致谢。
最佳答案
如果您还没有安装,请务必先安装您要使用的 CLI 工具。例如:
npm install -g yo
该命令将 yeoman 安装到全局 npm 模块目录中。该目录也应该在您的 $PATH
中。要查找 npm 使用的目录,请键入以下内容:
npm config get prefix
这将显示 npm 将全局模块安装到哪个目录。在该目录中应该有一个 bin/
目录,其中包含您安装的全局模块附带的任何 CLI 工具的符号链接(symbolic link)。那bin/
目录应该在你的 $PATH
中bash 变量以在其中查找命令行脚本。
我正在使用NVM管理我的 Node 安装,因此当我运行 npm config get prefix
时我的目录是:/Users/chev/.nvm/versions/node/v5.0.0
。但这不是标准目录。如果您使用默认安装程序安装了 Node ,那么您的安装程序将会有所不同。当我这样做时echo $PATH
我的看起来像这样:/Users/chev/.nvm/versions/node/v5.0.0/bin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin
。路径中的目录用冒号分隔( :
)。
OSX 上 Node 的一个常见问题是需要使用 sudo
由于默认全局 npm 模块目录中的权限问题,因此使用 npm 命令。如果您遇到这样的问题,我建议您也开始使用类似 NVM 的东西。 。 NVM 允许您并排安装多个 Node 版本,但即使您不需要该功能,它仍然很有用,因为它配置 Node 和 npm,以便所有内容都在您的主目录 ~/.nvm/
中运行。并避免权限问题。没有了 sudo
.
关于node.js - -bash 终端中找不到可执行文件命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34184897/