【问题标题】:Adding a permanent value to $PATH on Raspbian在 Raspbian 上向 $PATH 添加永久值
【发布时间】:2014-10-05 14:16:46
【问题描述】:

我对 Linux 很陌生,所以对于我的新手问题,我很抱歉, 但是现在大约一个小时我试图将 Node.js 添加到 $PATH 没有运气:(

我已经使用以下行添加节点

PATH=$PATH:node-v0.10.24-linux-arm-armv6j-vfp-hard/bin

它有效,但是当我退出终端并再次登录时,路径消失了。

后来我尝试将同一行添加到 .profile.logins.defs.bashrc。 一切都不起作用,所以我删除了该行。

请帮帮我!


P.S ,当我将行添加到 .profile 时,我能够调用 Node,但是当我更改目录以导航到 Node 项目目录时,我收到以下错误:

-bash: node-v0.10.24-linux-arm-armv6j-vfp-hard/bin/node: No such file or directory

【问题讨论】:

  • 请参阅下面我的回答,关于使用 .profile 中的 $HOME 变量来正确设置 $PATH。

标签: linux node.js unix path debian


【解决方案1】:

您应该添加绝对路径,而不是相对路径。您已将此添加到您的路径中:node-v0.10.24-linux-arm-armv6j-vfp-hard/bin。这是一个相对路径,而不是绝对路径(绝对路径以/ 开头)。您可以将您的线路更改为:

PATH=$PATH:DIR/node-v0.10.24-linux-arm-armv6j-vfp-hard/bin

其中DIR 是包含node-v0.10.24-linux-arm-armv6j-vfp-hard 的目录的完整路径。

阅读一下这一切是如何工作的,这可能是一个好主意——一旦你看到它的解释,它就不会那么复杂了。有关示例,请参阅https://superuser.com/questions/238987/how-does-unix-search-for-executable-files

【讨论】:

  • 成功了!我将 /home/pi 添加到路径的开头,它就像一个魅力!谢谢分配!
  • @BenAvnon 很高兴为您提供帮助。如果您觉得它(或任何其他答案)充分回答了您的问题,请不要忘记将其标记为已接受。另请参阅How does accepting an answer work?
  • 很高兴这有效,但要意识到这是仅针对登录名 pi 的特定解决方案。为了使其更通用,请参阅我关于在 .profile 中使用 $HOME 变量的答案。它提供了一种可以简单地复制 .profile 或将此部分剪切并粘贴到已安装 Node 的其他登录名的方法 - 无需编辑。
【解决方案2】:

您已经将 $HOME 设置为您的主目录。

所以你可以在你的 .profile 中使用它:

PATH="$PATH:$HOME:$HOME/bin:$HOME/node-v0.10.24-linux-arm-ar‌​mv6j-vfp-hard/bin"

如果您将其设置为绝对路径,您将无法将该 .profile 复制到其他设置类似的用户。

我看到另一个问题涉及在 Debian 上安装 node.js - 并且必须承认我很惊讶它是按用户安装的。因此,如果您为另一个登录名进行安装,您可能希望将您的 .profile 复制到新登录名以解决同样的问题。如果您像这样使用 $HOME 变量,则不需要针对每个用户进行编辑。只需简单的复制或剪切和粘贴即可。

作为参考,这是另一个问题/答案:install node.js on debian

【讨论】:

    猜你喜欢
    • 2021-08-18
    • 2020-05-25
    • 2020-08-04
    • 2020-11-22
    • 1970-01-01
    • 2012-07-27
    • 2013-02-08
    • 2013-02-05
    • 1970-01-01
    相关资源
    最近更新 更多