OS X常见问题列表及解决方案(持续更新中...)
点击访问原文
您还可以加入全栈技术交流群(QQ群号:254842154)
在这里收集与开发相关的OS X相关的问题列表。
Operation not permitted
当一个操作需要root权限时,命令前面没有加上sudo
,通常会报这个错误。但是,有时候就算你加了sudo
,有时候也会提示Operation not permitted
。
我最近遇到这个问题是因为把OSX升级到了OS X EI Capitan 10.11。在编译php的一个so文件时,最后一步提示:
Installing shared extensions: /usr/lib/php/extensions/no-debug-non-zts-20121212/
cp: /usr/lib/php/extensions/no-debug-non-zts-20121212/#INST@826#: Operation not permitted
真是奇怪,我在命令前面输入了sodu
,而且输入了密码,还提示我无权限。进入目录/usr/lib/php/extensions/no-debug-non-zts-20121212/
,也没有任何修改文件的权限。
于是我怀疑是最近升级系统的原因。Google之后找到了答案:
http://apple.stackexchange.com/questions/208815/error-configuring-mcrypt-after-upgrading-to-el-capitan
主要是因为OS X EI默认开启了:
http://arstechnica.com/apple/2015/09/os-x-10-11-el-capitan-the-ars-technica-review/8/
可以把它关闭后再进行自己的操作,之后可以再设置回来。主要是在安全模式(重启电脑,黑屏后按住⌘+R直到出现白苹果)的终端中输入命令:csrutil disable
关闭SIP。要开启,输入 csrutil enable
。详细设置方法:
https://www.quora.com/How-do-I-turn-off-the-rootless-in-OS-X-El-Capitan-10-11?share=1
升级成OS X 10.12后,“允许从以下位置下载的应用”没有“任何来源”
升级成OS X 10.12,安装从别的地方下载来的应用时会提示没有权限,到系统偏好设置
- 安全性与隐私
- 允许从以下位置下载的应用
里发现并没有 任何来源
这个选项。需要手动关闭Gatekeeper。在命令行输入以下命令:
sudo spctl --master-disable
需要注意的是,如果在系统偏好设置的安全性与隐私
中重新选中允许 App Store
和 被认可的开发者 App
,即重新打开 Gatekeeper 后,允许任何来源
App 的选项会再次消失,可运行上述命令再次关闭 Gatekeeper。
Agreeing to the Xcode/iOS license requires admin privileges, please re-run as root via sudo.
今天打开PhpStorm从svn拉取代码时,提示:Agreeing to the Xcode/iOS license requires admin privileges, please re-run as root via sudo.
。第一反应是我的XCode引起的,因为今天有一个比较大的XCode更新。于是打开XCode,按照提示安装协议后问题解决。或者在终端输入命令:sudo xcodebuild -license
,按照提示看完协议然后输入agree即可。
该问题的主要原因是因为XCode的更新需要用户主动同意某个新协议(agreement),OS X系统的很多软件都需要依赖XCode。
MAC开启隐藏文件显示
出于安全考虑,跟windows一样,OS X默认情况下是无法看到隐藏文件的。假如有需要,可以开启隐藏文件显示。
1、命令行查看
ls -a
这个方法只在命令行中可查看隐藏文件。
2、在终端中输入命令
//开启隐藏文件显示
defaults write com.apple.finder AppleShowAllFiles -bool true
//关闭隐藏文件显示
defaults write com.apple.finder AppleShowAllFiles -bool false
//重启finder生效
killall Finder
这个方法会对系统所有文件生效。
MAC开启Finder中显示全路径
在Finder中打开文件夹,默认情况下只会显示文件夹的名字,有时候不方便在命令行中定位到文件夹。可以通过命令开启显示全路径:
defaults write com.apple.finder _FXShowPosixPathInTitle -bool TRUE;killall Finder
关闭
defaults delete com.apple.finder _FXShowPosixPathInTitle;killall Finder
您需要安装旧 Java SE 6 运行环境才能打开 XXX
这时需要安装一个<a target="_blank" href="https://support.apple.com/kb/DL1572?locale=zh_CN">低版本</a>的jvm运行环境。