2017-07-31 6 views
0

と一致しない、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> 
+0

[この問題](https://github.com/bundler/bundler/issues/4260)にはいくつかのアイデアがバンドラレポにありますまだですか?特に注目すべきは、彼が 'rbenv rehash'を実行する必要があると言及された最後の投稿(私があなたがrbenvを使用しているのが分かるからです) –

+0

@SimpleLime私はそのスレッドに精通していて、バンドラをアンインストールして再インストールするたびに、Rubyのバージョンは 'Ruby 2.5.0p-1'です。 – robertjewell

答えて

-2

ここで最も良いオプションは、Ruby Version Manager(rvm)をインストールすることです。

RVMは、必要なものを正確に実行することによって、すべてのルビデベロッパーに役立ちます。必要に応じてRubyのバージョンを自動的に管理します。

ここにリンクがあります。プロジェクトフォルダの実行で

https://rvm.io/

乾杯

0

rbenv local 2.4.0-dev

それはトリックを行う必要があります。この特定のプロジェクトではローカルルビーバージョンを指定するだけです。あなたのグローバルバージョンは2.5.0に設定されています

+0

これは機能しませんでした。私はまだあなたのRubyのバージョンが2.5.0ですが、あなたのGemfileが2.4.0.pre.devを指定したという同じ問題に遭遇しています。私がバンドラを実行するたびに、バンドルはルビーバージョン '2.5で動作しているようです。0'と2.4.0.pre.devが必要なものを比較します。 – robertjewell

+0

@robertjewell興味深い。さて、 'rbenv local'と' rbenv global'の出力を投稿してください。 –

関連する問題