And*_*rew 5 osx-snow-leopard ruby rubygems
所以当我安装新的 gem 时,我似乎总是收到错误消息。我是 Ruby、Rails 和 RubyGems 的新手,所以这让我非常沮丧。我不确定我是否需要配置某些东西,或者我是否安装了错误的东西......所以希望你能提供帮助。以下是我遇到的问题的一些示例:
在大量的教程/文档中,他们总是使用:
gem install gem-name
Run Code Online (Sandbox Code Playgroud)
对我来说,这几乎总是会导致某种错误......直到我这样做......
sudo gem install gem-name
Run Code Online (Sandbox Code Playgroud)
...然后gem通常安装得很好。人们如何能够在gem install
不开始的情况下跑步sudo
?
严重地!我希望我能早点这样做。Ruby 版本管理器可以运行多个版本的 Ruby,每个版本都有自己的一组 gem,并且可以在不同版本之间无缝切换。此外,您将不必再使用sudo
。另外,它非常容易安装,所以你应该这样做!
有时我会收到这样的消息,即使在sudo
...
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb
mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ruby.h
Run Code Online (Sandbox Code Playgroud)
那有什么意思?
问题是它找不到make命令。安装 XCode 时它会自动安装。出于某种原因,即使我安装了 XCode,它也找不到它。我下载了最新版本的 XCode并重新安装。现在,当我which make
正确运行它时,它会返回/usr/bin/make
.
在新版本的 Xcode 中使用 Lion,从https://developer.apple.com/downloads下载“Xcode 命令行工具” 。
这是一个新的。
/Library/Ruby/Gems/1.8/gems/bundler-0.9.26/lib/bundler/source.rb:352: warning: Insecure world writable dir /usr/local/bin in PATH, mode 040777
Run Code Online (Sandbox Code Playgroud)
那看起来不太好。我需要做什么来修复它?
我安装的东西,在某个时间点,改变了我的/usr/local/bin
目录(以及 my/usr/local
和/usr/local/mysql
目录)的权限。要将这些改回:
sudo chmod 755 /usr/local/bin
Run Code Online (Sandbox Code Playgroud)
最后,我试图bundle install
在我全新的 Rails 3.0.0.beta4 应用程序上运行,但出现此错误:
Installing bcrypt-ruby (2.1.2) from .gem files at /Users/andrew/.bundle/ruby/1.8/cache with native extensions /Library/Ruby/Site/1.8/rubygems/installer.rb:483:in `build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError)
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb
mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ruby.h
Gem files will remain installed in /Users/andrew/.bundle/ruby/1.8/gems/bcrypt-ruby-2.1.2 for inspection.
Results logged to /Users/andrew/.bundle/ruby/1.8/gems/bcrypt-ruby-2.1.2/ext/mri/gem_make.out
from /Library/Ruby/Site/1.8/rubygems/installer.rb:446:in `each'
from /Library/Ruby/Site/1.8/rubygems/installer.rb:446:in `build_extensions'
from /Library/Ruby/Site/1.8/rubygems/installer.rb:198:in `install'
from /Library/Ruby/Gems/1.8/gems/bundler-0.9.26/lib/bundler/source.rb:170:in `install'
from /Library/Ruby/Gems/1.8/gems/bundler-0.9.26/lib/bundler/installer.rb:34:in `run'
from /Library/Ruby/Gems/1.8/gems/bundler-0.9.26/lib/bundler/spec_set.rb:12:in `each'
from /Library/Ruby/Gems/1.8/gems/bundler-0.9.26/lib/bundler/spec_set.rb:12:in `each'
from /Library/Ruby/Gems/1.8/gems/bundler-0.9.26/lib/bundler/installer.rb:21:in `run'
from /Library/Ruby/Gems/1.8/gems/bundler-0.9.26/lib/bundler/installer.rb:6:in `install'
from /Library/Ruby/Gems/1.8/gems/bundler-0.9.26/lib/bundler/cli.rb:91:in `install'
from /Library/Ruby/Gems/1.8/gems/bundler-0.9.26/lib/bundler/vendor/thor/task.rb:33:in `send'
from /Library/Ruby/Gems/1.8/gems/bundler-0.9.26/lib/bundler/vendor/thor/task.rb:33:in `run'
from /Library/Ruby/Gems/1.8/gems/bundler-0.9.26/lib/bundler/vendor/thor/invocation.rb:109:in `invoke'
from /Library/Ruby/Gems/1.8/gems/bundler-0.9.26/lib/bundler/vendor/thor/invocation.rb:116:in `call'
from /Library/Ruby/Gems/1.8/gems/bundler-0.9.26/lib/bundler/vendor/thor/invocation.rb:116:in `invoke'
from /Library/Ruby/Gems/1.8/gems/bundler-0.9.26/lib/bundler/vendor/thor.rb:137:in `start'
from /Library/Ruby/Gems/1.8/gems/bundler-0.9.26/lib/bundler/vendor/thor/base.rb:378:in `start'
from /Library/Ruby/Gems/1.8/gems/bundler-0.9.26/lib/bundler/vendor/thor.rb:124:in `start'
from /Library/Ruby/Gems/1.8/gems/bundler-0.9.26/bin/bundle:13
from /usr/bin/bundle:19:in `load'
from /usr/bin/bundle:19
Run Code Online (Sandbox Code Playgroud)
看起来像是bcrypt-ruby
它试图安装的某种依赖项。那么我该如何让它发挥作用呢?我怎么知道它失败的原因?
这是通过重新安装 XCode 修复的。
对不起,洗衣清单,但我真的很想摆脱所有这些问题!
提前致谢!
作为单独的问题会更好,因为我只能回答一些。
\n\nsudo
- 在 OS X 上,gems 安装在/Library
. 这里的任何内容都由 Mac 上的所有用户共享,因此要能够写入它,您需要 root 访问权限,这就是 sudo 为您提供的权限。\n当人们快速解释事情时,您会看到没有 sudo 的命令,因为他们希望人们知道何时使用 sudo,或者他们是否按照Ruby 文档
将 ruby 安装在用户目录中
4.:找不到 ruby 的头文件。
\n我怀疑你没有安装XCode,苹果开发者工具。它们位于您的 OS X\xc2\xa0DVD 上,或者如果您使用的是 OS X Lion,则可以从Apple或 App Store 下载。
/usr/local/bin
- 那很不好。
\n运行/Applications/Utilities/Disk Utility.app
,选择启动驱动器和修复权限。
归档时间: |
|
查看次数: |
17087 次 |
最近记录: |