10

bundle install を使用して、新しい Ruby プロジェクトに gem をインストールしようとしています。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.

最初の 2 行は、最初の試行からの出力の終わりです。ご覧のとおり、要求どおりにアトミックを正常にインストールしました。その後、もう一度試しましたが、同じエラーが発生しました。アトミックのインストールでいくつかのエラーを見てきましたが、このようなものはありません。オプション -R に問題があるようです。そもそも入力していないので、どこを変更すればいいのかわかりません。

アップデート

バージョン 2.0.0-p0 に設定された rbenv 全体を開始し、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.

解決済み ため息 - パス内のスペースを処理しません

4

8 に答える 8

4

エラー メッセージからは、実際の問題が何であるかについてのわずかな手がかりも得られません。Bundler またはそれが呼び出すコンポーネントが、スペースを含むディレクトリ名を適切に処理しません。私の場合、問題の原因は .../Data RAID/... でした。パスにスペースがない別のドライブにプロジェクトを移動すると、すべてが正常に機能しました。問題は宝石の場所だけかもしれません。以前の試みで、gem がスペースを含むパスに配置されていないプロジェクトを作成しましたが、プロジェクトはそうでした。私が行った限り、問題はありませんでした。gem install atomic が成功したことにも注目してください。

于 2013-08-18T23:00:05.737 に答える
0

グーグルでここにたどり着いた人のために:私はatomic 1.1.14で似たようなものに遭遇しました。

私の場合、アトミック固有のファイルを実行させなかったのは実際には Avast (アンチウイルス プログラム) でした。

アバストからファイルを除外し、gem install atomic -v '1.1.14'再度実行することで解決しました。

于 2013-11-18T11:01:45.947 に答える
0

Mac/OSX で Atomic (またはバンドル更新 - それが Atomic で失敗する) をインストールしようとしている場合は、使用している OS バージョンに関係なく、XCode 用のコマンド ライン ツールをインストールまたは更新する必要があります。

上記のとおりですが、その答えは少し難解な気がします。Atomic では、マルチスレッド化のためにこれらのツールが必要です。

于 2013-08-28T21:03:54.150 に答える
0

私は Mac OS Lion を使用しています。この問題を解決するために、新しいコマンド ライン ツールをインストールしました。手順: XCode を開きます -> ダウンロード -> コマンド ライン ツールをインストールします。それだけ。

于 2013-12-23T12:33:14.847 に答える
0

これは 100% パス内のスペースに関係しています。それが吐き出すエラーは、試行されたインストールパスを示しています。迷惑なエラー。

于 2014-01-25T03:19:18.357 に答える