NodeJS 如何在Mac上的$PATH中添加/usr/local/bin

2ic8powd  于 2023-01-20  发布在  Node.js
关注(0)|答案(6)|浏览(162)

当我在终端中'open .profile'时,我有以下内容:

export PATH=$PATH:/usr/local/git/bin

现在我为Mac安装了node.js,它说,
确保/usr/local/bin位于$PATH中。
如何添加/usr/local/bin以导出PATH=$PATH:/usr/local/git/bin

rqcrx0a6

rqcrx0a61#

变量PATH包含一个用冒号分隔的目录列表,因此如果您想添加多个目录,只需在它们之间放置一个冒号:

export PATH=$PATH:/usr/local/git/bin:/usr/local/bin

这种语法适用于任何与Bourne兼容的shell(sh、ksh、bash、zsh......),但是zsh(MacOS最新版本的默认shell)也以另一种方式公开PATH--作为一个名为(小写)$path的变量,它是一个数组而不是一个字符串,所以你可以这样做:

path+=(/usr/local/git/bin /usr/local/bin)

在这两种情况下,你可能需要在添加目录之前检查一下,确保该目录不在PATH中。下面是使用通用语法时的情况:

for dir in /usr/local/git/bin /usr/local/bin; do
   case "$PATH" in 
     $dir:*|*:$dir:*|*:$dir) :;; # already there, do nothing
     *) PATH=$PATH:$dir          # otherwise add it
   esac
done

下面是一个针对zsh的版本:

for dir in /usr/local/git/bin /usr/local/bin; do
  if (( ${path[(i)$dir]} > $#path )); then
    path+=($dir)
  fi
done

但是在Zsh中,你也可以将数组vars标记为只接受唯一的条目:

typeset -TU PATH path

甚至让你自己的路径类变量镜像到数组中:

typeset -TU PYTHONPATH pythonpath
dluptydi

dluptydi2#

尝试将$PATH放在末尾。

export PATH=/usr/local/git/bin:/usr/local/bin:$PATH
epfja78i

epfja78i3#

要使路径的编辑值在下一个会话中保持不变

cd ~/
touch .bash_profile
open .bash_profile

这将在编辑器中打开.bash_profile,在将您想要的内容添加到以冒号分隔每个值的路径后,在以下内容中写入。

export PATH=$PATH:/usr/local/git/bin:/usr/local/bin:

保存,退出,重新启动您的终端和享受

e5nqia27

e5nqia274#

我也有同样的问题。
cd到../etc/,然后使用ls确保您的“paths”文件在,vim paths,在文件末尾添加“/usr/local/bin”。

wr98u20j

wr98u20j5#

我觉得这很好

sudo mkdir -p /etc/paths.d   # was optional in my case
echo /usr/local/git/bin  | sudo tee /etc/paths.d/mypath1
xesrikrc

xesrikrc6#

    • 在MAC OS Catalina中,**这些步骤对我很有效,所有上述解决方案都有帮助,但没有解决我的问题。

1.检查节点--版本,仍在使用旧版本。

  1. cd~/
    1.原子. bash配置文件
    1.删除指向旧节点版本的$PATH,在我的示例中,它是/usr/local/bin/node/@node8
    1.将其添加并保存到$PATH,而不是"导出路径= $PATH:/usr/local/git/bin:/usr/local/bin"
    1.关闭所有使用节点的应用程序(终端、模拟器、浏览器博览会等)
    1.重新启动终端并检查节点--版本

相关问题