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
是一样的。 请注意,它没有任何显示的两个冒号。
你的问题也表明你误解了错误信息。 没有什么暗示你应该具备sudo
function。 该消息告诉你, 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来添加node
和npm
的安装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/