gem 代理设置相关的内容可以参考之前的文章:[iMac(OS X)日常开发中各种代理设置方法汇总(shell、Android Studio、gem、npm) | 子勰的博客](http://blog.bihe0832.com/proxy.html),里面有关于如何设置gem的代理以及如何修改镜像的方法 |
---|
在iMac下面如果使用gem安装部分软件的时候很容易遇到下面的错误:
➜ temp: sudo gem install --http-proxy http://proxy.com:8080 gollum
Password:
Building native extensions. This could take a while...
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /usr/bin directory.
%
原因就是字面意思的原因, gem 要往目录/usr/bin
写文件但是权限不够. 因为此时使用的是系统自带的 ruby, 他会在尝试往系统库中安装内容。有时候即使是使用sudo或许也不可以安装。解决这个问题有两种方法:
sudo chown -R
即可。不过个人更推荐在安装一个ruby。直接使用homebrew安装即可。这样我们自定义的和系统的就可以很好的区分开。示例如下:
➜ temp: brew install ruby Updating Homebrew... ==> Installing dependencies for ruby: libyaml, openssl ==> Installing ruby dependency: libyaml …… ? /usr/local/Cellar/ruby/2.5.1: 16,227 files, 27.5MB ➜ temp: gem list --local /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/ruby/2.3.0/universal-darwin17/rbconfig.rb:214: warning: Insecure world writable dir /Users/hardyshi/lib/android-sdk in PATH, mode 040777 *** LOCAL GEMS *** addressable (2.5.2) …… safe_yaml (1.0.4) sass (3.5.5) sass-listen (4.0.0) sqlite3 (1.3.11) test-unit (3.1.5) ➜ temp: gem install --http-proxy http://dev-proxy.oa.com:8080 gollum Fetching: charlock_holmes-0.7.6.gem (100%) Building native extensions. This could take a while... …… 23 gems installed