我正在开发一个在我的rails应用程序中使用的gem.
宝石位于/home/me/my_gem.
如果我使用gem 'my_gem', :git => '/home/me/my_gem'bundler接受并安装它,~/.bundler/...但我想直接使用gem,/home/me/my_gem所以bundle install每次我更改gem时都不必运行.
我很难过.我成功运行bundle install:
bundle install
...
Using activerecord-oracle_enhanced-adapter (1.4.1) from git://github.com/rsim/oracle-enhanced.git (at master)
...
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.
Run Code Online (Sandbox Code Playgroud)
但是,当我运行rake db:create时,我得到以下内容
vagrant@lucid32:/vagrant$ rake db:create
(in /vagrant)
git://github.com/rsim/oracle-enhanced.git (at master) is not checked out. Please run `bundle install`
Run Code Online (Sandbox Code Playgroud)
试试这个:
vagrant@lucid32:/vagrant$ bundle exec db:create
bundler: command not found: db:create
Install missing gem executables with `bundle install`
Run Code Online (Sandbox Code Playgroud)
在我的Gemfile中:
gem 'activerecord-oracle_enhanced-adapter', '~>1.4.1', :git => 'git://github.com/rsim/oracle-enhanced.git'
Run Code Online (Sandbox Code Playgroud)
这是在Ubuntu上,安装了ruby 1.8.7.我正在运行1.9.2p290 w/rbenv.
我用rvm gem install bundler安装了bundler.这里有什么问题?
还用这些选项重新安装 -
apt-get install libncurses5-dev libreadline5-dev libreadline-dev librequire-dev
rvm use ruby-1.9.3-p125 --default
rvm reinstall librequire-dev libbundler-dev --with-readline-dir=/usr/include/readline
$ rails new proj
exist
identical README.rdoc
identical Rakefile
identical config.ru
identical .gitignore
identical Gemfile
exist app
identical app/assets/images/rails.png
identical app/assets/javascripts/application.js
identical app/assets/stylesheets/application.css
identical app/controllers/application_controller.rb
identical app/helpers/application_helper.rb
exist app/mailers
exist app/models
identical app/views/layouts/application.html.erb
identical app/mailers/.gitkeep
identical app/models/.gitkeep
exist config
identical config/routes.rb
identical config/application.rb
identical config/environment.rb
exist config/environments
identical config/environments/development.rb
identical config/environments/production.rb
identical config/environments/test.rb
exist config/initializers
identical config/initializers/backtrace_silencers.rb
identical config/initializers/inflections.rb …Run Code Online (Sandbox Code Playgroud) 我用ruby 1.9.3运行rvm.我跑了bundle install,它工作得很好.但是当我跑步时,bundle install --deployment我得到了这个:
volunteer-app ? bundle install --deployment
Fetching gem metadata from http://rubygems.org/.......
Installing rake (0.9.2.2)
Gem::LoadError: Could not find rubygems-bundler (>= 0) amongst []
An error occured while installing rake (0.9.2.2), and Bundler cannot continue.
Make sure that `gem install rake -v '0.9.2.2'` succeeds before bundling.
Run Code Online (Sandbox Code Playgroud)
在运行之后,我查看vendor/bundle/ruby目录并显示1.9.1.所以它似乎bundle install --deployment没有从rvm的默认ruby版本识别我的宝石1.9.3.
对我可能遗失的任何想法.
编辑
这是我的gem env:
RubyGems Environment:
- RUBYGEMS VERSION: 1.8.24
- RUBY VERSION: 1.9.3 …Run Code Online (Sandbox Code Playgroud) 我正在使用jruby 1.7.2并设置一个新的rails应用程序.Bundler似乎无法找到必要的(基于java/jruby的宝石)使用:
> bundle
Could not find gem 'neo4j-core (>= 0) ruby' in the gems available on this machine.
Run Code Online (Sandbox Code Playgroud)
如果我指定路径,我得到这个:
> bundle
Fetching gem metadata from https://rubygems.org/.......
Fetching gem metadata from https://rubygems.org/..
Could not find gem 'neo4j-core (>= 0) ruby' in source at ./vendor/gems/neo4j-core.
Source contains 'neo4j-core' at: 2.0.1
Run Code Online (Sandbox Code Playgroud)
也许捆绑者对它的平台感到困惑 - 为什么它会ruby在那里结束这个词呢?我跑了ruby -e "puts RUBY_PLATFORM",这给了我:java
刚刚提取最新代码,现在获得:
...my_app/Gemfile:2:in `evaluate':
undefined method `ruby' for #<Bundler::Dsl:0x007fc17c3fc6c8> (NoMethodError)
Run Code Online (Sandbox Code Playgroud) 我在gemspecs中看到了很多这样的东西:
s.add_dependency 'some_gem', '~> 1.5.0'
Run Code Online (Sandbox Code Playgroud)
什么〜>是什么意思?
有没有办法安装宝石,bundle install因此它们不会安装在ruby文件夹中,而是安装在项目的文件夹中?(我会在上面使用.gitignore)
有没有办法只为一些宝石做这个?
我正在为生产部署一个rails应用程序,所以宝石进入共享/捆绑.mysql2 gem似乎在Ubuntu12.04中有问题,所以我想删除它并重新安装,但我该怎么办呢?我不能打电话gem uninstall mysql2.我试过bundle exec gem uninstall mysql2 --path shared/bundle但得到了错误Could not locate Gemfile.我该如何删除?如果您还需要更多信息,请使用lmk.
thx提前
我将在我的rails应用程序中使用Debian测试(拉伸)上的bundle install安装一些gem.我收到此错误:
Installing bcrypt 3.1.10 with native extensions
Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
/usr/bin/ruby2.1 extconf.rb
mkmf.rb can't find header files for ruby at /usr/lib/ruby/include/ruby.h
extconf failed, exit code 1
Gem files will remain installed in /tmp/bundler20151208-29851-hg3bi3bcrypt-3.1.10/gems/bcrypt-3.1.10 for inspection.
Results logged to /tmp/bundler20151208-29851-hg3bi3bcrypt-3.1.10/extensions/x86_64-linux/2.1.0/bcrypt-3.1.10/gem_make.out
An error occurred while installing bcrypt (3.1.10), and Bundler cannot continue.
Make sure that `gem install bcrypt -v '3.1.10'` succeeds before bundling.
Run Code Online (Sandbox Code Playgroud)
但我已经安装bcrypt和bcrypt-ruby使用gem install.