我正在尝试在Mac OS上全局安装Composer。
我试着按照入门部分的指示,在终端中使用这个命令来移动composer.phar文件:
mv composer.phar /usr/bin/composer
我得到这个错误:
mv: rename composer.phar to /usr/bin/composer: No such file or
directory
当我尝试创建目录时,它说不允许操作:
bash-3.2# mkdir -p /usr/bin/composer mkdir: /usr/bin/composer:
Operation not permitted
我甚至试图导航到";bin";目录,上面写着:
bash-3.2# mkdir composer mkdir: composer: Operation not permitted
我已经成功启用了root,但我仍然尝试更改权限:
bash-3.2# chmod ugo+rwx "bin" chmod: Unable to change file mode on
bin: Operation not permitted bash-3.2#
我在这里做错了什么?
提前感谢!
编辑:
感谢您的回复!
当我键入以下命令时:
ls -leO@d /usr/local/bin
它打印:
-rwxrwxr-x 1 username staff - 2212003 27 Mar 17:00 /usr/local/bin
背景:/usr/bin
通常用于";标准";二进制文件,而不是您自己安装的东西;它们通常属于像CCD_ 2这样的地方。在最近版本的macOS中,这是由系统完整性保护和保持";系统";单独只读卷上的文件/目录。
问题是:在您的系统上,似乎有一个名为/usr/local/bin
的文件,而不是一个目录。如果某个安装程序试图将程序安装到/usr/local/bin
(例如使用mv someprogram /usr/local/bin
(,而没有首先确保该名称的目录存在,则可能会发生这种情况。
如何解决:首先要做的是将安装的任何文件移动/重命名为/usr/local/bin
,然后将其创建为一个目录:
sudo mv /usr/local/bin /usr/local/bin-moved
sudo mkdir -p /usr/local/bin
一旦解决了这个问题,您应该能够正常安装composer。根据这一点(并添加sudo
以访问目录(,您可以使用:
sudo mv composer.phar /usr/local/bin/composer
最后,如果你愿意,你可以试着弄清楚什么程序被安装为(而不是中的(/usr/local/bin
。或者只需删除/usr/local/bin-moved
文件,就不用担心了
/usr/bin
是一个受保护的系统文件夹。不要更改其权限。
相反,请将其安装到其他位置,例如/usr/local/bin
。您可能仍然需要使用sudo
运行复制命令:sudo mv composer.phar /usr/local/bin/composer