Ric*_*ard 1 php macos terminal composer-php
我正在尝试在 Mac 操作系统上全局安装 Composer。
我尝试按照入门部分中的说明在终端中使用此命令来移动composer.phar文件:
mv composer.phar /usr/bin/composer
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
mv: rename composer.phar to /usr/bin/composer: No such file or
directory
Run Code Online (Sandbox Code Playgroud)
当我尝试创建目录时,它说不允许该操作:
bash-3.2# mkdir -p /usr/bin/composer mkdir: /usr/bin/composer:
Operation not permitted
Run Code Online (Sandbox Code Playgroud)
我什至尝试导航到“bin”目录,它说:
bash-3.2# mkdir composer mkdir: composer: Operation not permitted
Run Code Online (Sandbox Code Playgroud)
我已经成功启用 root,但我仍然尝试更改权限:
bash-3.2# chmod ugo+rwx "bin" chmod: Unable to change file mode on
bin: Operation not permitted bash-3.2#
Run Code Online (Sandbox Code Playgroud)
我在这里做错了什么?
提前致谢!
编辑:
感谢您的回复!
当我输入以下命令时:
ls -leO@d /usr/local/bin
Run Code Online (Sandbox Code Playgroud)
它打印:
-rwxrwxr-x 1 username staff - 2212003 27 Mar 17:00 /usr/local/bin
Run Code Online (Sandbox Code Playgroud)
背景:/usr/bin通常用于“标准”二进制文件,而不是您自己安装的东西;那些通常属于类似的地方/usr/local/bin。在最新版本的 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
Run Code Online (Sandbox Code Playgroud)
一旦解决了这个问题,您应该就可以正常安装 Composer 了。根据此(并添加sudo以访问该目录),您可以这样做:
sudo mv composer.phar /usr/local/bin/composer
Run Code Online (Sandbox Code Playgroud)
最后,如果您愿意,您可以尝试找出安装了什么程序(而不是安装在)/usr/local/bin。或者直接删除该/usr/local/bin-moved文件,不用担心。
| 归档时间: |
|
| 查看次数: |
11793 次 |
| 最近记录: |