修改$ PATH变量

时间:2013-12-22 19:02:40

标签: node.js path terminal environment-variables

尝试安装node.js.

brew install node

似乎有效。

但是,在完成后收到此消息

  

自制软件安装npm。
  我们建议在您的PATH环境中添加以下路径   变量以获取npm安装的二进制文件:
  的/ usr /本地/共享/ NPM / bin中

好的......所以,我打开我的bash_profile ...

这就是我所拥有的:

 export PATH="/usr/local/bin:/usr/local/sbin:~/bin:$PATH"

 [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

试图了解如何正确修改它,这样我就不会毁了它......

我是否像这样添加/usr/local/share/npm/bin

export PATH="/usr/local/bin:/usr/local/sbin:~/bin/usr/local/share/npm/bin:$PATH"

如果没有,添加该路径的正确方法是什么?

感谢您提供的任何帮助!

PS。如果我能提供任何其他信息,请告诉我

编辑

在macedigital的回答中看到which npm后,我就跑了......

并得到了这个:/usr/local/bin/npm

那是在我做第二个答案之前(即ThiefMaster的回答)。

再次运行which npm ...

并得到了和以前一样的答案......

我做了回音$PATH并得到了这个:

  

/Users/name/.rvm/gems/ruby-1.9.3-p374/bin:/Users/name/.rvm/gems/ruby-1.9.3-p374@global/bin:/Users/name/ .rvm /红宝石/红宝石1.9.3-P374 /斌:/Users/name/.rvm/bin:在/ usr / local / share下/ NPM /斌:在/ usr / local / bin目录:在/ usr / local / sbin中: 〜/ bin中:在/ usr / bin中:/ bin中:/ usr / sbin目录:/ sbin目录:在/ usr / X11 / bin中:在/ usr /本地/ GIT中/ bin中

所以,看起来我已经安装了它?

因此,我该如何处理答案?我讨厌让它没有得到解决,因为你们两个都非常乐于助人而我感觉很糟糕我没有提供echo $PATH信息,因为那会告诉你我安装了它......

编辑2

ls -la /usr/local/share/npm/bin得到了这个:

  

ls:/ usr / local / share / npm / bin:没有这样的文件或目录

which -a npm获取此信息:/usr/local/bin/npm

编辑3

ls -a /usr/local/bin/npm获取此信息:/usr/local/bin/npm

没有时间戳...

3 个答案:

答案 0 :(得分:7)

简短回答,这样做(注意我插入的额外冒号):

export PATH="/usr/local/share/npm/bin:/usr/local/bin:/usr/local/sbin:~/bin:$PATH"

如果要运行没有完全限定路径的命令,$PATH环境变量是冒号分隔的目录列表(例如运行npm而不是输入/usr/local/share/npm/bin/npm)。

您可以在实际保存bash_profile中的更改之前从终端尝试此操作。如果一切顺利,which -a npm将显示所有完全合格的路径。

更新

没有必要修改$ PATH变量以使用npm。相反,自制安装建议将存储npm安装的二进制文件的目录添加到$ PATH变量中,因此稍后从命令行使用它们会更方便。

phantomjs,phonegap,express等节点模块提供了二进制文件,在更改后可以在命令提示符下使用,而无需键入完整路径。

答案 1 :(得分:7)

最干净的解决方案是在您发布的两行之间添加以下内容:

export PATH="/usr/local/share/npm/bin:$PATH"

这样一切都保持可读性,你就像程序建议的那样将它添加到PATH中。如果您想撤消更改,只需删除该行,而不是编辑可能很长的行。

答案 2 :(得分:0)

在“路径顺序”中很重要。因此,在所需的npm版本之前的任何操作仍然会引起问题。

#adding in first place of the path, before anything else
export PATH=/usr/local/bin:otherPathEntries:$PATH

假设您想要的npm版本位于/ usr / local / bin中,以全部检查是否使用'which -a npm'