【问题标题】:env: node: No such file or directory in macenv:节点:mac中没有这样的文件或目录
【发布时间】:2017-09-13 20:59:06
【问题描述】:

我正在谷歌中搜索如何显示节点 js 的版本或我将如何使用 npm? 如果我这样做

npm -v

即使我已经使用brew install node 安装了它。结果总是

env: node: No such file or directory

我已经做了很多命令来解决它,但是失败了。 这些是我已经尝试过的命令:

sudo apt-get install nodejs-legacy
sudo ln -s /usr/local/bin/node /usr/bin/node
brew unlink node
brew link node

因此,我无法开始任务。帮帮我,伙计们。在我使用此命令brew link --overwrite node 之前完成这项工作。现在我有问题,我不能再使用 npm 了。我对此真的很陌生。我现在不知道如何解决这个问题。

更新

我已经使用npm list 命令获得了列表。我也在这里link 得到了这个想法,但是当我在项目中npm install 时。我总是得到这个“结果环境:节点:没有这样的文件或目录”,即使我命令npm -v 但如果我在我的项目之外命令它。它适用于 npm -v

【问题讨论】:

  • 试试npm list 然后你可以看到安装的每个包的所有版本。如果您想在 mac 上使用特定文件,请使用 npm list -g | grep (module-name)
  • 我已经使用该命令获得了列表。我也在这里得到了这个想法stackoverflow.com/questions/11177954/…。但是当我在项目中安装 npm 时。我总是得到这个“结果环境:节点:没有这样的文件或目录”但是如果我在我的项目之外命令它。它适用于 npm -v
  • 您需要在安装 npm 的文件目录中设置您的服务器。
  • 你有样品吗?我不知道我需要设置什么文件。
  • howtonode.org/how-to-install-nodejs 也许您尝试以错误的方式安装它?因为mac、windows和linux

标签: node.js homebrew


【解决方案1】:

我是这样解决的:

$ brew uninstall --force node
$ brew uninstall --force npm

之后

$ brew install node

这建议我覆盖 simlinks

Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink share/doc/node/gdbinit
Target /usr/local/share/doc/node/gdbinit
already exists. You may want to remove it:
  rm '/usr/local/share/doc/node/gdbinit'

To force the link and overwrite all conflicting files:
  brew link --overwrite node

执行后

$ brew link --overwrite node

一切都恢复正常了。

【讨论】:

  • 像我这种不耐烦的软件工程师,安装时总是漏掉警告信息。
  • 最后一步可能会因文件权限而失败。在这种情况下,sudo chown -R $(whoami) $(brew --prefix)/* 会有所帮助(请参阅github.com/nvm-sh/nvm/issues/1702#issuecomment-444309875)。这解决了我的问题,谢谢!
  • 单独运行 brew link --overwrite node 为我解决了这个问题。
【解决方案2】:

注意:仅限 mac 用户!

  1. 使用命令完全卸载节点
curl -ksO https://gist.githubusercontent.com/nicerobot/2697848/raw/uninstall-node.sh
chmod +x ./uninstall-node.sh
./uninstall-node.sh
rm uninstall-node.sh

或者你可以看看这个网站:How do I completely uninstall Node.js, and reinstall from beginning (Mac OS X)

如果这不起作用,您需要通过控制面板或任何其他方法删除节点。只要它被删除。

  1. 通过这个网站安装节点:https://nodejs.org/en/download/

如果你使用nvm,你可以使用:

nvm install node

您已经可以检查它是否有效,然后您不需要执行以下步骤:npm -v 然后node -v

如果您安装了nvmcommand -v nvm

  1. 使用以下命令卸载 npm:

sudo npm uninstall npm -g

或者,如果失败,获取 npm 源代码,然后执行:

sudo make uninstall

如果您安装了nvm,则使用:nvm uninstall npm

  1. 使用以下命令安装 npm:npm install -g grunt

【讨论】:

  • 节点有问题,但仅限于 tmux 内部。 #1 解决了 - tmux 在运行脚本后从 nvm 路径中寻找节点。
【解决方案3】:

我在通过 Jenkins 运行作业时收到此 env: node: No such file or directory 错误。

我做了什么来修复它 - 在 Jenkins 作业执行的脚本的开头添加了 export PATH="$PATH:"/usr/local/bin/

【讨论】:

    【解决方案4】:

    我用 brew 升级我的节点版本后遇到了这样的问题。解决问题

    1)运行$brew doctor检查是否安装成功 2)如果您之前错过了清除任何与节点相关的文件,可能会弹出这样的错误日志:

    Warning: You have unlinked kegs in your Cellar Leaving kegs unlinked can lead to build-trouble and cause brews that depend on those kegs to fail to run properly once built. node

    3) 现在建议您运行 brew link 命令删除原来的节点相关文件并覆盖新文件 - $ brew link node

    就是这样 - 一切都恢复正常了!!!

    【讨论】:

      【解决方案5】:

      如果您从 bash 切换到 oh my zsh,则需要将 nvm 的路径添加到 zshrc 文件中。

      @Zgpeace 的回答 here 帮助解决了我的问题(在 IOS 上):

      1. 打开 .zshrc 文件。我用纳米:nano ~/.zshrc
      2. 将此添加到文件中:export NVM_DIR=~/.nvm
      3. 键入Ctrl+X 保存更改 --> Yes
      4. 重新加载配置。输入source $(brew --prefix nvm)/nvm.sh
      5. 输入nvm --version进行测试。
      6. 您现在可以看到该版本。例如:0.37.2

      【讨论】:

        【解决方案6】:

        让我们看看,我以不同的方式对它进行了排序。就我而言,我的路径类似于~/.local/bin,这似乎不是它想要的方式。

        尝试使用完整路径,例如/Users/tobias/.local/bin,我的意思是,将PATH 变量从~/.local/bin 更改为/Users/tobias/.local/bin$HOME/.local/bin

        现在可以了。 ???

        【讨论】:

          【解决方案7】:

          我通过this link 重新安装了节点并修复了它。

          我认为问题在于我以某种方式让节点位于我的 /usr/bin 而不是 /usr/local/bin

          【讨论】:

          • 我尝试了很多上述解决方案(卸载了初学者的所有内容),但为了安装最终放弃了其他所有内容,转而使用此答案中提供的链接通过 macOS 的 bash 下载它。它起作用了。 curl 命令是:curl "https://nodejs.org/dist/latest/node-${VERSION:-$(wget -qO- https://nodejs.org/dist/latest/ | sed -nE 's|.*>node-(.*)\.pkg</a>.*|\1|p')}.pkg" > "$HOME/Downloads/node-latest.pkg" && sudo installer -store -pkg "$HOME/Downloads/node-latest.pkg" -target "/"
          【解决方案8】:

          对于使用包管理器自制软件的 mac 用户:

          -brew 卸载节点 -brew卸载npm

          -酿造医生 -brew 链接节点

          -node -v(检查节点版本)

          这就是你所需要的。

          【讨论】:

          • brew link --overwrite node 为我完成了这项工作,就像@jozh 的回答中提到的那样
          【解决方案9】:

          nvm 为我改变了路径,这修复了它:

          nvm use stable
          

          【讨论】:

          【解决方案10】:

          我在 Mac 上通过 PyCharm 运行 npm start 时遇到此错误。为此,答案是使用open -a '/Applications/PyCharm.app/' 从终端启动 PyCharm。见https://stackoverflow.com/a/34017083/733092

          对于 Pycharm Professional,从命令行开始是不同的。获取 JetBrains Toolbox 应用程序,进入设置,生成 Shell 脚本,它会创建一个 ~/pycharm_shell_scripts 供您运行。

          【讨论】:

          • 我通过 emacs 遇到了这个错误。从终端运行 emacs 也解决了我的问题。谢谢你!
          【解决方案11】:

          对我来说,当我尝试使用 sudo npm 安装软件包时发生此错误。这修复了它:

          sudo env PATH="$PATH:/usr/local/bin/" npm <rest of command>
          

          【讨论】:

          • 作为解决方法为我工作
          【解决方案12】:

          我使用的是fish shell,在我的m1 macbook air上遇到了这个问题。

          1. 安装nvm omf install nvm
          2. 通过创建此文件将 nvm 添加到路径 ~/.config/fish/functions/nvm.fish
            • 我用vim所以vim ~/.config/fish/functions/nvm.fish
          function nvm
              bass source ~/.nvm/nvm.sh --no-use ';' nvm $argv
          end
          
          1. 再次安装节点nvm install node

          在那之后它对我有用,:) 希望它也对你有用

          信用https://eshlox.net/2019/01/27/how-to-use-nvm-with-fish-shell

          【讨论】:

            【解决方案13】:

            在 MacOSx 上工作,maven exec 不愿意执行我可以手动执行并获得所需结果的 shell 脚本。给了我同样的错误,也解决了

            export PATH="$PATH:"/usr/local/bin/ 在脚本的开头

            【讨论】:

            • 欢迎来到 SO。类似的答案已经存在。如果您觉得有新内容要添加,请编辑答案。您还可以投票赞成您认为可以解决问题的答案。
            • 重复答案。
            猜你喜欢
            • 2018-11-12
            • 2018-08-09
            • 2015-09-27
            • 2023-03-19
            • 2021-06-17
            • 1970-01-01
            • 1970-01-01
            • 2019-09-19
            • 1970-01-01
            相关资源
            最近更新 更多