と一致しない、bundle
私は以下を参照してください。私のGemfileがどのように見えるRubyのバージョンとプロジェクト私が実行すると
Your Ruby version is 2.5.0, but your Gemfile specified
2.4.0.pre.dev
:
source 'https://rubygems.org'
ruby '2.4.0-dev'
gem 'sinatra', :github => 'sinatra/sinatra'
これは私のgem env
次のとおりです。
$ gem env
RubyGems Environment:
- RUBYGEMS VERSION: 2.6.12
- RUBY VERSION: 2.5.0 (2017-07-31 patchlevel -1) [x86_64-darwin16]
- INSTALLATION DIRECTORY: /Users/johndoe/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.5.0
- USER INSTALLATION DIRECTORY: /Users/johndoe/.gem/ruby/2.5.0
- RUBY EXECUTABLE: /Users/johndoe/.rbenv/versions/2.4.0-dev/bin/ruby
- EXECUTABLE DIRECTORY: /Users/johndoe/.rbenv/versions/2.4.0-dev/bin
- SPEC CACHE DIRECTORY: /Users/johndoe/.gem/specs
- SYSTEM CONFIGURATION DIRECTORY: /Users/johndoe/.rbenv/versions/2.4.0-dev/etc
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-darwin-16
- GEM PATHS:
- /Users/johndoe/.rbenv/versions/2.4.0-dev/lib/ruby/gems/2.5.0
- /Users/johndoe/.gem/ruby/2.5.0
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :backtrace => false
- :bulk_threshold => 1000
- "gem" => "-n/usr/local/bin"
- REMOTE SOURCES:
- https://rubygems.org/
- SHELL PATH:
- /Users/johndoe/.rbenv/versions/2.4.0-dev/bin
- /Users/johndoe/.rbenv/libexec
- /Users/johndoe/.nvm/versions/node/v8.1.4/bin
- /usr/local/sbin
- /Library/Frameworks/Python.framework/Versions/3.4/bin
- /Users/johndoe/.rbenv/shims
- /Users/johndoe/google-cloud-sdk/bin
- /Users/johndoe/Library/Python/2.7/bin
- /Users/johndoe/.rbenv/bin
- /usr/local/bin
- /usr/bin
- /bin
- /usr/sbin
- /sbin
私がrbenv verions
と入力すると、これが表示されます。
system
2.0.0-p247
2.3.1
* 2.4.0-dev (set by /Users/johndoe/code/projects/blog-server/.ruby-version)
私は欲しいルビーバージョンを指定していますが、私はこれをプロジェクトのGemfileで照合しています。しかし、私がbundle
またはbundle exec gem uninstall sinatra
を実行するたびに、上記の私のrubyバージョンとgemfile rubyバージョンが一致しないというエラーメッセージが表示されます。 Rubyのバージョンが2.5.0であることがわかりました。どのように設定されているのか分かりません。誰かがこのエラーを解決するのに役立つことができますか?私のbashのプロファイルで
Your Ruby version is 2.5.0, but your Gemfile specified
2.4.0.pre.dev
、私が持っている:要するに
export PATH=$HOME/.rbenv/bin:$PATH
....
eval "$(rbenv init -)"
を、私はRubyのバージョン2.4.0-dev
を使用するように私のブログのプロジェクトのための私のルビープロセスを実行するシェルをしたい、と私はに苦労しています何が私を妨げているのか、それを解決する方法を理解してください。
更新日:
私は奇妙な何かに気づいた。私のバンドラのバージョンは、ルビー2.5.0p-1
を指し続けています。
## Environment
Bundler 1.15.3
Rubygems 2.6.12
Ruby 2.5.0p-1 (2017-07-31 revision 59454) [x86_64-darwin16]
Git 2.11.0
Platform x86_64-darwin-16
OpenSSL OpenSSL 1.0.2k 26 Jan 2017
```
## Gemfile
### Gemfile
```ruby
source 'https://rubygems.org'
ruby '2.4.0-dev'
gem 'sinatra', '2.0.0'
```
### Gemfile.lock
```
<No /Users/johndoe/code/projects/blog-server/Gemfile.lock found>
[この問題](https://github.com/bundler/bundler/issues/4260)にはいくつかのアイデアがバンドラレポにありますまだですか?特に注目すべきは、彼が 'rbenv rehash'を実行する必要があると言及された最後の投稿(私があなたがrbenvを使用しているのが分かるからです) –
@SimpleLime私はそのスレッドに精通していて、バンドラをアンインストールして再インストールするたびに、Rubyのバージョンは 'Ruby 2.5.0p-1'です。 – robertjewell