我正在尝试使用bundle install将gem安装到我的新Ruby项目中。我在OS X 10.8.4框中使用rbenv设置了Ruby版本。我收到以下错误:
An error occurred while installing atomic (1.1.13), and Bundler cannot continue.
Make sure that `gem install atomic -v '1.1.13'` succeeds before bundling.
Kikime:jazzcatalog curt$ gem install atomic
Building native extensions. This could take a while...
Successfully installed atomic-1.1.13
1 gem installed
Kikime:jazzcatalog curt$ rbenv rehash
Kikime:jazzcatalog curt$ bundle install
Fetching gem metadata from https://rubygems.org/.........
Fetching gem metadata from https://rubygems.org/..
Using rake (10.1.0)
Using i18n (0.6.5)
Using minitest (4.7.5)
Using multi_json (1.7.9)
Installing atomic (1.1.13)
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/Users/curt/.rbenv/versions/2.0.0-p247/bin/ruby extconf.rb
/Users/curt/.rbenv/versions/2.0.0-p247/bin/ruby: invalid option -R (-h will show valid options) (RuntimeError)
Gem files will remain installed in /Volumes/Data RAID/htdocs/jazzcatalog/vendor/bundle/gems/atomic-1.1.13 for inspection.
Results logged to /Volumes/Data RAID/htdocs/jazzcatalog/vendor/bundle/gems/atomic- 1.1.13/ext/gem_make.out
An error occurred while installing atomic (1.1.13), and Bundler cannot continue.
Make sure that `gem install atomic -v '1.1.13'` succeeds before bundling.
前两行是第一次尝试输出的结束。如您所见,然后我按要求成功安装了原子。然后我再次尝试并得到了同样的错误。我已经看到安装原子的一些错误,但没有像这样的错误。它似乎与选项-R有问题。由于我没有首先输入它,我不知道在哪里更改它。
更新
我开始将rbenv设置为版本2.0.0-p0并运行rails new jazz catalog -d mysql。它死在同一个地方有这个错误:
Installing atomic (1.1.13)
Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
/Users/curt/.rbenv/versions/2.0.0-p0/bin/ruby extconf.rb
creating Makefile
make
compiling atomic_reference.c
atomic_reference.c:50:9: warning: implicit declaration of function 'OSAtomicCompareAndSwap64' is invalid in C99 [-Wimplicit-function-declaration]
if (OSAtomicCompareAndSwap64(expect_value, new_value, &DATA_PTR(self))) {
^
1 warning generated.
linking shared-object atomic_reference.bundle
make install
/usr/bin/install -c -m 0755 atomic_reference.bundle /Volumes/Data RAID/htdocs/jazzcatalog/vendor/bundle/gems/atomic-1.1.13/lib
usage: install [-bCcpSsv] [-B suffix] [-f flags] [-g group] [-m mode]
[-o owner] file1 file2
install [-bCcpSsv] [-B suffix] [-f flags] [-g group] [-m mode]
[-o owner] file1 ... fileN directory
install -d [-v] [-g group] [-m mode] [-o owner] directory ...
make: *** [install-so] Error 64
Gem files will remain installed in /Volumes/Data RAID/htdocs/jazzcatalog/vendor/bundle/gems/atomic-1.1.13 for inspection.
Results logged to /Volumes/Data RAID/htdocs/jazzcatalog/vendor/bundle/gems/atomic- 1.1.13/ext/gem_make.out
An error occurred while installing atomic (1.1.13), and Bundler cannot continue.
Make sure that `gem install atomic -v '1.1.13'` succeeds before bundling.
解决 叹气 - 不处理路径中的空格
答案 0 :(得分:19)
我有这个问题。事实证明这是由安装Mac OS 10.9(Mavericks)引起的,因为Mavericks有一个独立于Xcode的独立命令行工具。为了解决这个问题,我删除了/ Applications / Xcode,然后通过以下方法安装了独立的命令行工具:
注意:可能不需要第一行,请参阅下面的评论
sudo rm -rf /Applications/Xcode
xcode-select --install
然后从OSX弹出窗口中单击“安装”
源: http://www.computersnyou.com/2025/2013/06/install-command-line-tools-in-osx-10-9-mavericks-how-to/
答案 1 :(得分:8)
对于那些通过谷歌搜索来到这个页面的人,我解决了类似的问题,同时在mac上安装atomic(1.1.13):
sudo ln -s /usr/bin/llvm-gcc-4.2 /usr/bin/gcc-4.2
这似乎是因为Xcode更新存在冲突。
答案 2 :(得分:4)
错误消息没有给出关于真正问题的最微小线索。 Bundler或它调用的组件无法正确处理其中包含空格的目录名称。在我的情况下,它是... /数据RAID / ...导致问题。一旦我将项目移动到路径中没有空格的不同驱动器,一切正常。它似乎只是宝石的位置是问题。在之前的尝试中,我创建了一个项目,其中gem不在包含空格的路径中,但项目是。就我而言,它没有任何问题。另请注意,gem install atomic是成功的。
答案 3 :(得分:0)
如果您尝试在Mac / OSX上安装Atomic(或捆绑更新 - 并且在原子上失败),您将需要为您正在使用的操作系统版本安装或更新XCode的命令行工具。
如上所述,但我觉得这个答案有点深奥。 Atomic需要这些工具用于多线程。
答案 4 :(得分:0)
我收到相同的错误消息,它似乎是由我的Gemfile 中的(看似无害但错误的)行引起的。如果使用正确(在使用 RVM 的系统上),这两行应该能够使用正确版本的Ruby和所需的gemset。
ruby '2.0.0'
#ruby-gemset=railstut_rails_4_0 ; ruby-2.0.0-p247@railstut_rails_4_0
我的印象是我只是在第二行添加注释 - 但RVM(按设计/按预期)创建了一个名为“* railstut_rails_4_0; ruby-2.0.0-p247@railstut_rails_4_0*”的新gemset “那里有空格和特殊字符。每次我运行bundle install时 - 即使我更改了Gemfile中的名称--RVM加载了当前错误的gemset。为了解决这个问题,我做了以下几点:
更新Gemfile:以下前两行是为了RVM设置的好处;然后是个人参考评论:
ruby'2.0.0'
#ruby-gemset = railstut_rails_4_0
#ruby-2.0.0-p247@railstut_rails_4_0
捆绑安装 - 无需生产
答案 5 :(得分:0)
对于那些通过谷歌搜索来到这里的人:我遇到了类似于原子1.1.14的东西。
在我的情况下,实际上是Avast(反病毒程序)不允许我执行特定于原子的文件。
通过从Avast中排除文件解决了这个问题,然后再次运行gem install atomic -v '1.1.14'
。
答案 6 :(得分:0)
我正在使用Mac OS Lion,为了解决这个问题,我安装了新的命令行工具。 步骤:打开XCode - >下载 - >安装命令行工具。 就这么。
答案 7 :(得分:0)
这100%与路径中的Spaces有关。它吐出的错误显示了尝试的安装路径。恼人的错误。