我安装了一个新的rails项目:
$ rails new site
然后执行并到达:
bundle install
但是当我看来尝试安装依赖
时,我得到了这个错误Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb
checking for libkern/OSAtomic.h... yes
creating Makefile
make "DESTDIR=" clean
make "DESTDIR="
compiling atomic_reference.c
atomic_reference.c:57:59: warning: incompatible pointer types passing 'void **' to parameter of type 'volatile int64_t *' (aka 'volatile long long *') [-Wincompatible-pointer-types]
if (OSAtomicCompareAndSwap64(expect_value, new_value, &DATA_PTR(self))) {
^~~~~~~~~~~~~~~
/usr/include/libkern/OSAtomic.h:507:93: note: passing argument to parameter '__theValue' here
bool OSAtomicCompareAndSwap64( int64_t __oldValue, int64_t __newValue, volatile int64_t *__theValue );
^
1 warning generated.
linking shared-object atomic_reference.bundle
clang: error: unknown argument: '-multiply_definedsuppress' [-Wunused-command-line-argument-hard-error-in-future]
clang: note: this will be a hard error (cannot be downgraded to a warning) in the future
make: *** [atomic_reference.bundle] Error 1
make failed, exit code 2
Gem files will remain installed in /Users/mikeguppy/.bundler/tmp/26234/gems/atomic-1.1.16 for inspection.
Results logged to /Users/mikeguppy/.bundler/tmp/26234/extensions/universal-darwin-13/2.0.0/atomic-1.1.16/gem_make.out
An error occurred while installing atomic (1.1.16), and Bundler cannot continue.
Make sure that `gem install atomic -v '1.1.16'` succeeds before bundling.
然后我尝试使用以下方法独立安装原子:
gem install atomic
再次没有运气。
我在Mac OS 10.9.2上运行Ruby 2.0
非常感谢任何帮助!
答案 0 :(得分:4)
这对我有用:
sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future gem install rails
答案 1 :(得分:2)
我遇到了同样的问题,对我来说有用的是安装RVM,安装Ruby 2.1.1(从小牛队打包的2.0升级版)......
rvm get stable
rvm reinstall 2.1.1
(使用最新版本,对我来说是2.1.1)
...然后运行rvm use 2.1.1
以确保我已切换到使用该版本。
之后,我的gem安装顺利进行。
答案 2 :(得分:1)
这似乎是与Mavericks(2.0.0p247)打包的系统Ruby相关的问题,请参阅此处的错误详情:https://bugs.ruby-lang.org/issues/9624
我通过安装rbenv(或RVM,如果您愿意)然后安装Ruby 2.1.1以避免篡改系统Ruby版本来解决这个问题。在安装原子宝石时你仍会收到警告,但它至少不会失败。
rbenv在这里:https://github.com/sstephenson/rbenv
答案 3 :(得分:1)
安装导轨时遇到同样的问题。 我的ruby版本是1.9.3 p448,OS是OS X Mavericks(10.9.2)。
这是我尝试过的并且有效。
$ gem install rails --version 4.0.4
答案 4 :(得分:0)
首先卸载任何现有的atomic
gem
gem uninstall atomic
然后使用
重新安装gem install atomic -v '1.1.16'
此后尝试创建新的rails应用程序
rails new projectname
我不知道您当前使用的是哪个版本的Rails。有时,将Rails重新安装到稳定版本似乎有所帮助。如果上述步骤无法解决问题,您可能也想尝试一下。
答案 5 :(得分:0)
我最近遇到了类似的问题,原因是Xcode自动更新为5.1。此版本包含gcc
的错误/问题。
线索在这里:
-Wunused-command-line-argument-hard-error-in-future]
clang: note: this will be a hard error (cannot be downgraded to a warning)
可悲的是,我不得不降级Xcode - 可用here。
答案 6 :(得分:0)
答案 7 :(得分:0)
如果您使用错误版本的ruby捆绑捆绑包,则会发生此错误。检查Gemfile以查找ruby版本,然后检查protected void ddlNumber_SelectedIndexChanged(object sender, EventArgs e)
{
ddlText.Enabled = ddlNumber.SelectedValue == "";
ddlNumber.Enabled = ddlText.SelectedValue == "";
}
的输出。如果版本不匹配,请使用rvm确保使用相同版本的ruby,然后重新捆绑。
我收到了这个确切的错误并通过更改我正在使用的ruby版本来修复它。
答案 8 :(得分:0)
这些都不适合我。我提出了自己的解决方案。问题在于json版本小于2.0。当我尝试升级json时,我收到有关rails和sdoc的依赖性问题的错误消息。这就是我最终做的事情:
gem 'json', '> 2'
为我工作。