【问题标题】:New Rails Project: 'bundle install' can't install rails in gemfile新 Rails 项目:'bundle install' 无法在 gemfile 中安装 rails
【发布时间】:2014-04-23 01:12:44
【问题描述】:

我已经安装了一个新的 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.

然后我尝试使用以下方法独立安装 atomic:

gem install atomic

又一次没有运气。

我在 Mac OS 10.9.2 上运行 Ruby 2.0


任何帮助将不胜感激!

【问题讨论】:

  • 你的 Rails 版本是什么? rails -v
  • @Leito 我按照下面的答案卸载了原子。现在我没有 rails :/ 所以没有 -v 我害怕
  • @Leito 现在我无法安装 rails
  • 我确定问题现在不同了。您需要提供更多信息(不要只说“不起作用”/“我不能”)以便我们提供帮助。不鼓励在 cmets 中聊天,因此要么发布有关安装 rails 的新问题,要么创建一个聊天室供我们进一步讨论。

标签: ruby-on-rails ruby


【解决方案1】:

这对我有用: sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future gem install rails

【讨论】:

    【解决方案2】:

    我遇到了同样的问题,对我有用的是安装 RVM,安装 Ruby 2.1.1(从 Mavericks 中打包的 2.0 升级而来)...

    rvm get stable
    rvm reinstall 2.1.1
    

    (使用最新版本,对我来说是 2.1.1)

    ...然后运行 ​​rvm use 2.1.1 以确保我已切换到使用该版本。

    之后,我的 gem 安装运行顺利。

    【讨论】:

      【解决方案3】:

      这似乎是与 Mavericks (2.0.0p247) 打包的系统 Ruby 有关的问题,请在此处查看有关该错误的详细信息:https://bugs.ruby-lang.org/issues/9624

      我通过安装 rbenv(或 RVM,如果您愿意)然后安装 Ruby 2.1.1 来解决这个问题,以免篡改系统 Ruby 版本。在安装 atomic gem 期间您仍然会收到警告,但至少不会失败。

      这里的rbenv:https://github.com/sstephenson/rbenv

      【讨论】:

      【解决方案4】:

      安装rails时我遇到了同样的问题。 我的 ruby​​ 版本是 1.9.3 p448,操作系统是 OS X Mavericks (10.9.2)。

      这是我尝试过的方法。

      $ gem install rails --version 4.0.4

      [参考] http://ruby.railstutorial.org/chapters/beginning#top

      【讨论】:

      • 很好,我决定试一试,它安装得很好,谢谢!
      【解决方案5】:

      首先卸载任何现有的atomic gem

      gem uninstall atomic
      

      然后使用

      重新安装它
      gem install atomic -v '1.1.16'
      

      在此之后尝试创建一个新的 Rails 应用程序

      rails new projectname
      

      我不知道您当前使用的是哪个版本的 Rails。有时,将 Rails 重新安装到稳定版本似乎会有所帮助。如果上述步骤未能解决问题,您也可以尝试一下。

      【讨论】:

        【解决方案6】:

        我最近遇到了类似的问题,这是因为 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

        【讨论】:

          【解决方案7】:

          Maverick 上的 Ruby 2.1.5 通过 rvm 安装 atomic 1.1.16 没有问题。

          【讨论】:

            【解决方案8】:

            如果您为捆绑包使用了错误版本的 ruby​​,则可能会发生此错误。检查 Gemfile 的 ruby​​ 版本,然后检查 ruby -v 的输出。如果版本不匹配,请使用 rvm 确保您使用的是相同版本的 ruby​​,然后重新捆绑。

            我得到了这个确切的错误,并通过更改我使用的 ruby​​ 版本来修复它。

            【讨论】:

              【解决方案9】:

              这些都不适合我。我想出了自己的解决方案。问题在于低于 2.0 的 json 版本。当我尝试升级 json 时,我收到一条关于 rails 和 sdoc 依赖问题的错误消息。这是我最终做的:

              1. 打开您的 Gemfile。
              2. 注释掉 sdoc 和 rails 的行。
              3. 添加这一行: gem 'json', '> 2'
              4. 运行捆绑安装。

              为我工作。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2015-11-14
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多