BundlerはRakeを見つけることができません。私のRubyの宝石は、バンドラーがそれを見つけることができる場所にインストールされますように、私は私の宝石のパスを修正するにはどうすればよいRakeは私の宝石のパスにありますが、Bundlerはそれを見つけることができません。
?
私が行う場合:
gem env
私は、次を参照してください。
RubyGems Environment:
- RUBYGEMS VERSION: 2.0.14
- RUBY VERSION: 2.0.0 (2015-04-13 patchlevel 645) [universal.x86_64-darwin15]
- INSTALLATION DIRECTORY: /Library/Ruby/Gems/2.0.0
- RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
- EXECUTABLE DIRECTORY: /usr/local/bin
- RUBYGEMS PLATFORMS:
- ruby
- universal-darwin-15
- GEM PATHS:
- /Library/Ruby/Gems/2.0.0
- /Users/lkrubner/.gem/ruby/2.0.0
- /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/gems/2.0.0
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :backtrace => false
- :bulk_threshold => 1000
- "install" => "--no-ri --no-rdoc"
- "update" => "--no-ri --no-rdoc"
- REMOTE SOURCES:
- https://rubygems.org/
すくいがあります:
ls -al /Library/Ruby/Gems/2.0.0/gems
rake-0.9.6
rake-10.4.2
rake-11.2.2
rdoc-4.0.0
test-unit-2.0.0.0
しかし、現在のプロジェクトのために、この問題のどれも。
私は別の開発者からのRailsプロジェクトを引き継いでいます。
のRails 4.2
レーキ11..2.2
ルビー2.0.0
私は
.bundler/config
に見れば、私は以下を参照してください。
BUNDLE_PATH: vendor/cache
BUNDLE_DISABLE_SHARED_GEMS: '1'
もしI私が見ることができる "find"を使う
vendor/cache/rake-11.2.2.gem
vendor/cache/ruby/2.1.0/gems/rake-10.5.0/
vendor/cache/ruby/2.1.0/gems/rake-11.2.2
vendor/cache/ruby/2.1.0/gems/rake-10.4.2
しかし、これらのほとんどは2.0ではなく、ruby 2.1のフォルダになります。
しかし、私はしようとした場合:
bundle exec rake db:setup
私が手:
Could not find rake-11.2.2 in any of the sources
私は "バンドルがインストール" しようとしました。
私はGemfile.lockを削除しようとしました。
私は「バンドルexecを」使用しないようにしようとしました。
私は何もできません。
私はただ一つのパスを使用するようにシステムを取得する必要があります。バージョンはそれほど重要ではありません。
1つのパスですべてを一致させるにはどうすればよいですか?
私が実行している場合は、私が「すくい11.2.2の使用」を参照してください出力にし、「バンドルのインストール」。したがって、Bundlerが「インストール」タスクを実行しているときに「バンドル」コマンドでレーキが表示されますが、「実行」タスクを実行しているときは表示されません。ところで
:
which rake
/usr/local/bin/rake
これはハードコーディングされた2にあります。ルビーの0バージョン:
#!/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
#
# This file was generated by RubyGems.
#
# The application 'rake' is installed as part of a gem, and
# this file is here to facilitate running it.
#
require 'rubygems'
version = ">= 0"
if ARGV.first
str = ARGV.first
str = str.dup.force_encoding("BINARY") if str.respond_to? :force_encoding
if str =~ /\A_(.*)_\z/
version = $1
ARGV.shift
end
end
gem 'rake', version
load Gem.bin_path('rake', 'rake', version)
[[UPDATE]]
[[UPDATE]]
私は削除:
.bash_profileの
.bashrcの
を。 zshrc
と私は実行しました:
chsh -s /bin/bash
私はMacにいます。これは私のシェルをzshからbashに変更したはずです。
その後、すべての変更がロードされたことを確認するために、ターミナルウィンドウで開始しました。私は「バンドルのインストール」を実行する場合
さて、宝石は、ベンダー/キャッシュにインストールしているようだ/私はこのエラーを取得:
rbenv install 2.1.0
と私は実行します。
Installing paperclip 5.0.0
Gem::InstallError: paperclip requires Ruby version >= 2.1.0.
は、だから私は実行を"bundle install"を再度実行すると、同じエラーが表示されます。
ルビーのバージョンは次のとおりです。
ruby -v
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin15]
任意のアドバイスはありますか?
は、私が実行した場合:
gem env
は、私が参照してください。
- GEM PATHS:
- /Users/lkrubner/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0
- /Users/lkrubner/.gem/ruby/2.3.0
'gemfile 'に' gem' rake''が含まれていますか? –
試してみる 'bundle exec gem list | grep rake'を実行して、複数のバージョンがインストールされていて、バージョンの一覧が表示されているかどうかを確認してください。次に 'gem uninstall rake'を使い、削除したいバージョンを選択します。 – jaydel
@Holger - 私はそれを3つの方法で試しました.Gemfileでは 'rake'なしで、Gemfileでは指定されたバージョンがなく、バージョンも指定されています。何も動作しません。 – charlottesville