Ras*_*sir 6 permissions bash terminal sudo meteor
在OSX Yosemite和最新版本的meteor(1.0.1)上,无论我卸载并重新安装它多少次,我似乎无法在没有sudo的情况下运行它.我的用户帐户是管理员帐户.但流星拒绝在没有sudo的情况下运行.我得到的错误都是:
-bash: meteor: command not found
Run Code Online (Sandbox Code Playgroud)
我在这里看过几篇有类似问题的帖子.我试过用磁盘工具修复磁盘权限.我试过了:
sudo chown -R $myUsername /usr/local/bin/meteor
Run Code Online (Sandbox Code Playgroud)
我不确定我还能做什么,因为它似乎是一个权限问题.有没有人有什么建议?
可能有用的其他信息:
$ 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
Run Code Online (Sandbox Code Playgroud)
顺便说一句,ls -l /usr/local/bin/meteor只适用于sudo.
Sto*_*ica 11
在我们澄清了meteor可执行文件及其基本目录的权限之后,问题变得非常清楚了:
/usr/local/bin/meteor/usr/local/bin要解决的步骤:
sudo chmod +rx /usr/local/binPATH:PATH=$PATH:/usr/local/bin备查:
-bash: XYZ: command not found
XYZ例如的绝对路径/path/to/XYZ/path/to/XYZ/path/to/XYZ提供了-bash: /path/to/XYZ: Permission denied,这意味着你有问题的文件和/或目录的权限:
sudo chmod +rx /path/to/XYZsudo chmod +x /path /path/to/path/to/XYZ应该工作XYZ(没有完整路径)仍然不起作用,这意味着/path/to不在你的PATH.修复PATH=$PATH:/path/to注意:上述sudo chmod命令为所有用户提供权限(读取和执行):owner + group + other.在OP的情况下(在大多数情况下),这是完全正常的.在具有更复杂权限设置的情况下,您可能需要更具体,而g+rx不是使用+rx.
(作为记录)
如果它可以使用sudo,并且没有sudo你得到command not found,那意味着它meteor在PATHfor上root而不是你的用户.要使其适合您的用户,您需要找到路径meteor并将其添加到您的用户PATH.例如:
sudo su -meteorrun命令的路径:which meteorPATH,例如,如果先前which meteor给你/usr/local/bin/meteor,然后执行以下操作:PATH=$PATH:/usr/local/bin在此之后,它应该与您的用户一起工作.要使其"永久",请添加最后一步~/.bashrc.
如果这仍然不起作用,那么您的用户可能没有该文件的执行权限.使用此命令修复此问题:
sudo chmod +x /usr/local/bin/meteor
Run Code Online (Sandbox Code Playgroud)
从您的评论中,您的用户似乎也没有对/usr/local/bin目录本身的权限.使用此命令修复此问题:
sudo chmod +rx /usr/local/bin
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4815 次 |
| 最近记录: |