node.js - -bash 终端中找不到可执行文件命令

标签 node.js macos bash npm homebrew

使用 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/

相关文章:

node.js - 在 Node 项目上运行 make 命令

c++ - 在 C++ 程序中找不到环境变量 UID

javascript - 将文档插入数据库之前的 MongoDB 空集合

node.js - req.session.id 不同于 req.session._id

macos - Android Studio OS X : Gradle seems to have no connection to jcenter (?)

objective-c - NSInteger 设置为 0 但返回 nil

html - 如何从 2 个列表中选择随机行并将它们组合起来

javascript - 如何找出 JavaScript Promise 中返回的类型

json - 如何从 Node.Js Express 中的发布数据接收(并解码)JSON?

macos - SwiftUI for MacOS 表单中的多行文本字段/文本编辑器