根据当前目录更改PATH

时间:2018-07-20 14:48:14

标签: node.js bash

我正在一个需要用户版本为Node.js的项目中工作。我已经以root特权安装了它,并且我想保留该特权,所以我的解决方案是使用直接download以用户身份安装新版本。考虑到这一点,我想这样做,以便从工作项目目录中调用Node时,它使用用户版本,否则默认为根版本。

所以,实际上有两个问题:

  1. 是否可以根据目录结构中的位置使用不同的PATH变量?

  2. 这是解决此问题的好方法还是有更好的方法来管理Node版本? (没有太多的开销)

1 个答案:

答案 0 :(得分:2)

您可以通过在PATH中放置相对路径来近似您的要求;

PATH=./localnode:$PATH

现在,如果当前目录中存在./localnode/Node.js,它将优先于系统范围的Node.js

我不会特别推荐这种方法。更好或更不常见的方法是在要覆盖系统版本的持续时间内运行带有不同的PATH(或覆盖函数或别名)的单独的Shell。这也使此首选项与更改工作目录脱钩,该工作目录通常不会产生此类副作用。