Node.js和系统上的模块,我不能sudo

我想在没有sudo权限的系统上使用节点。

我下载了节点,并按照指导如何在没有sudo权限的情况下全局安装npm软件包。

Node和npm命令运行良好。 我的问题是,安装的软件包(在我的情况下bower和gulp),在/usr/bin/env: node:所以如果我运行bower,我得到/usr/bin/env: node: No such file or directory

我无法在该目录中创buildln,因为我没有权限。 我怎么能告诉凉亭和吞咽在另一个pathsearch节点?

我的问题是,安装的软件包(在我的情况下bower和gulp),在/usr/bin/env: node:

他们当然不会。 这是第一行gulp

 #!/usr/bin/env node 

bower是一样的。 请注意,它没有任何显示的两个冒号。

你的问题也表明你误解了错误信息。 没有什么暗示你应该具备sudofunction。 该消息告诉你, env无法findnode 。 让我用一个在我的系统上不存在的名称来说明:

 $ /usr/bin/env nonexistent /usr/bin/env: nonexistent: No such file or directory $ env nonexistent env: nonexistent: No such file or directory 

如果我做了env node ,它将启动节点。 你所得到的错误正是以上面的错误信息的forms出现的:你得到了用来启动env的path,这是完整的path,如果这是使用的,没有find命令的名称和描述问题。

为什么会失败? 它失败,因为env无法findPATH环境variables中指定的path中的node

我不知道你的向导告诉你的是什么,但是如果你在本地安装,你必须以这样一种方式进行安装,即Node的二进制文件将被path覆盖,或者你应该修改设置你的文件环境variables来添加nodenpm的安装path。 对于bash ,你可以像这样修改~./profile

 PATH=/path/to/the/node/binaries:$PATH 

我预先确定你想要的path优先于任何可以安装在系统位置( /bin/usr/bin等)

你能编辑bowserrc文件吗?

Bower可以在.bowerrc文件中使用JSON进行configuration。 例如:

 { "directory": "app/components/", "analytics": false, "timeout": 120000, "registry": { "search": [ "http://localhost:8000", "https://bower.herokuapp.com" ] } } 

configuration是通过按照以下顺序合并多个configuration获得的:

  • CLI参数通过–config
  • 环境variables
  • CLI参数通过–config
  • 环境variables
  • 位于当前工作目录中的本地.bowerrc
  • 所有.bowerrc文件向上目录树
  • 位于用户主文件夹中的.bowerrc文件(〜)
  • .bowerrc文件位于全局文件夹(/)

find: http : //bower.io/docs/config/