bash – 如果没有Sudo,Meteor将无法运行?

前端之家收集整理的这篇文章主要介绍了bash – 如果没有Sudo,Meteor将无法运行?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在OSX Yosemite和最新版本的meteor(1.0.1)上,无论我卸载并重新安装它多少次,我似乎无法在没有sudo的情况下运行它.我的用户帐户是管理员帐户.但流星拒绝在没有sudo的情况下运行.我得到的错误都是:
-bash: meteor: command not found

我在这里看过几篇有类似问题的帖子.我试过用磁盘工具修复磁盘权限.我试过了:

sudo chown -R $myUsername /usr/local/bin/meteor

我不确定我还能做什么,因为它似乎是一个权限问题.有没有人有什么建议?

可能有用的其他信息:

$sudo which meteor
/usr/local/bin/meteor
$sudo ls -l /usr/local/bin/meteor
-rwxrwxrwx 1 root wheel 3528 Dec 18 23:14 /usr/local/bin/meteor
$ls -ld /usr/local/bin
drwx------ 6 502 wheel 204 Dec 18 23:14 /usr/local/bin

顺便说一下,ls -l /usr/local / bin / meteor只适用于sudo.

在我们阐明了meteor可执行文件及其基目录的权限之后,
问题变得非常清楚:

> Meteor二进制文件位于/usr/local / bin / meteor中
>您的用户没有权限访问/usr/local / bin目录

解决的步骤:

>添加基目录的权限:sudo chmod rx /usr/local / bin
>如有必要,将基目录添加到PATH:PATH = $PATH:/usr/local / bin

备查:

>当您收到此类错误时:-bash:XYZ:找不到命令

>要检查的第一件事是找到XYZ的绝对路径,例如/ path / to / XYZ
>尝试使用绝对路径/ path / to / XYZ运行

>如果使用/ path / to / XYZ运行,则给出-bash:/ path / to / XYZ:权限被拒绝意味着您对文件和/或目录的权限有问题:

>您需要对文件本身的读取和执行权限:sudo chmod rx / path / to / XYZ
>您需要对导致文件的所有路径元素的exec权限:sudo chmod x / path / path / to

>修复权限问题后,使用/ path / to / XYZ运行应该有效
>修复权限问题后,如果使用XYZ(没有完整路径)运行仍然不起作用,则表示/ path / to不在PATH上.修复PATH = $PATH:/ path / to

注意:上面的sudo chmod命令为所有用户提供权限(read和exec):owner group other.在OP的情况下(在大多数情况下),这是完全正常的.
在具有更复杂权限设置的情况下,您可能需要更具体,并使用g rx而不是rx.

(作为记录)

如果它适用于sudo,并且没有sudo你得到命令未找到,这意味着meteor在PATH上为root而不是你的用户.要使其适合您的用户,您需要找到meteor的路径并将其添加用户的PATH中.例如:

>与sudo su成为root用户
>找到流星的路径,运行命令:哪个流星
>从root(Control-D)注销以返回给您的用户
>将基目录添加到PATH,例如,如果之前哪个meteor给你/usr/local / bin / meteor,那么执行以下操作:PATH = $PATH:/usr/local / bin

在此之后,它应该与您的用户一起工作.要使其“永久”,请在〜/ .bashrc中添加最后一步.

如果这仍然不起作用,那么您的用户可能没有该文件的执行权限.使用此命令修复此问题:

sudo chmod +x /usr/local/bin/meteor

从您的评论中,您的用户似乎也没有/usr/local / bin目录本身的权限.使用此命令修复此问题:

sudo chmod +rx /usr/local/bin

猜你在找的Bash相关文章