标签: gemfile

Gemfile中的宝石顺序是否有所不同?

您列出宝石的顺序是否重要?这两个块是等价的吗?

gem 'carrierwave'
gem 'rmagick'
Run Code Online (Sandbox Code Playgroud)

gem 'rmagick'
gem 'carrierwave'
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails gemfile

24
推荐指数
2
解决办法
4575
查看次数

Bundler找不到某个版本的gem,但是同名的gem install有效

我创建了一个gem,由于某种原因,这个一直在烦我,并拒绝通过bundler正确安装.

这是Gemfile:

source 'https://rubygems.org'
gem 'rails', '3.2.9'
gem "switch_access-rails", "~> 1.1.6"
Run Code Online (Sandbox Code Playgroud)

捆绑安装失败:

Could not find gem 'switch_access-rails (~> 1.1.6) ruby' in the gems available on this machine.
Run Code Online (Sandbox Code Playgroud)

这有效:

gem install switch_access-rails -v 1.1.6 
Run Code Online (Sandbox Code Playgroud)

宝石出现在rubygems上:https://rubygems.org/gems/switch_access-rails/versions/1.1.6

我甚至尝试从1.1.5版本升级到1.1.6,看看是否有帮助.

安装版本1.1.4 in bundle install工作.

有关从哪里开始查看/调试捆绑安装的提示?

ruby-on-rails bundler gemfile

21
推荐指数
1
解决办法
9295
查看次数

已激活的弹簧1.4.0,但Gemfile需要弹簧1.3.3 [错误]

我的服务器运行正常,但当我尝试通过rails c进入控制台时,我收到此错误.

/home/munam/.rvm/gems/ruby-2.2.0@jugojuice/gems/bundler-1.10.6/lib/bundler/runtime.rb:34:in `block in setup': You have already activated spring 1.4.0, but your Gemfile requires spring 1.3.3. Prepending `bundle exec` to your command may solve this. (Gem::LoadError)
    from /home/munam/.rvm/gems/ruby-2.2.0@jugojuice/gems/bundler-1.10.6/lib/bundler/runtime.rb:19:in `setup'
    from /home/munam/.rvm/gems/ruby-2.2.0@jugojuice/gems/bundler-1.10.6/lib/bundler.rb:127:in `setup'
    from /home/munam/.rvm/gems/ruby-2.2.0@jugojuice/gems/bundler-1.10.6/lib/bundler/setup.rb:8:in `<top (required)>'
    from /home/munam/.rvm/rubies/ruby-2.2.0/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /home/munam/.rvm/rubies/ruby-2.2.0/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /home/munam/.rvm/gems/ruby-2.2.0@jugojuice/gems/spring-1.4.0/lib/spring/commands.rb:33:in `<module:Spring>'
    from /home/munam/.rvm/gems/ruby-2.2.0@jugojuice/gems/spring-1.4.0/lib/spring/commands.rb:4:in `<top (required)>'
    from /home/munam/.rvm/rubies/ruby-2.2.0/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /home/munam/.rvm/rubies/ruby-2.2.0/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    from /home/munam/.rvm/gems/ruby-2.2.0@jugojuice/gems/spring-1.4.0/lib/spring/server.rb:9:in `<top (required)>'
    from /home/munam/.rvm/rubies/ruby-2.2.0/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:128:in `require'
    from /home/munam/.rvm/rubies/ruby-2.2.0/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:128:in `rescue in require'
    from /home/munam/.rvm/rubies/ruby-2.2.0/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:39:in `require'
Run Code Online (Sandbox Code Playgroud)

我的Gemfile.lock如下

GIT
  remote: git://github.com/rails-api/active_model_serializers.git
  revision: 1f08865a10bb06648efc170768c8c9937d441f45
  specs:
    active_model_serializers …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails gemfile ruby-on-rails-4 gemfile.lock

21
推荐指数
1
解决办法
4577
查看次数

使用Ruby 1.9.3运行'bundle install'时出错

我将阅读第二版Ruby on Rails教程(http://ruby.railstutorial.org/).我正在关注每一步,所以我使用的是Ruby 1.9.3,当我在我的Rails项目中运行'bundle install'时,我发现了一个错误,其中包含一个错误的大跟踪,从这开始:

/Users/sebasoga/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/1.9.1/net/http.rb:799: [BUG]分段错误ruby 1.9.3p125(2012-02-16修订版) 34643)[x86_64-darwin10.8.0]

我现在正在使用Ruby 1.9.2并且它工作正常,但它不应该也适用于Ruby 1.9.3?

bundler gemfile ruby-1.9.3

20
推荐指数
2
解决办法
1万
查看次数

在Gemfile和.ruby-version Dotfile中列出Ruby版本是不好的做法吗?

我最近的Rails项目或多或少都在试验我在这个过程中要做很多事情并学习.我在我的gemfile中指定了最新版本的Ruby:

ruby '2.2.3'

.ruby-version在项目中也有一个dotfile,其中包含以下内容:

2.2.3

除了明显的重复之外,这有什么问题?这两个公约的目的是什么?如果我只有一个列出我的Ruby版本的约定,为什么我应该有一个(Gemfile)而另一个(dotfile)?

在项目中同时使用这两种约定是否完美无缺?

我将成为这个实验项目的唯一维护者,并且不会觉得必须保持这个微妙的重复是一个问题.我不打算为这个项目升级Ruby,如果我这样做,我就不会记得在两个地方都这样做了.除了这个细节,我当然避免在我的应用程序的代码库中出现任何重复.

ruby convention ruby-on-rails dotfiles gemfile

19
推荐指数
3
解决办法
2162
查看次数

您的用户帐户不允许安装到系统RubyGems

我在运行命令

bundle install
Run Code Online (Sandbox Code Playgroud)

在项目文件夹中.在某些项目文件夹中,它将产生错误,在其他项目文件夹中,它不会产生错误.错误是:

您的用户帐户不允许安装到系统RubyGems

我知道这可以通过遵循建议的建议来解决:

bundle install --path vendor/bundle
Run Code Online (Sandbox Code Playgroud)

我的问题是为什么行为不一致?

ruby rubygems ruby-on-rails bundler gemfile

18
推荐指数
4
解决办法
2万
查看次数

Rails 3.1引擎:my_engine.gemspec,add_dependency,add_development_dependency和Gemfile的区别

出于好奇......在我以前的帖子Rails3.1引擎中:无法让SLIM或HAML在测试/虚拟应用程序中工作我问在哪里告诉Ruby在我的test/dummy应用程序中使用一些gem .

(显而易见的?)答案就是将它放入我的引擎的Gemfile中.这有效,但它让我有点不舒服,因为在耶胡达卡茨 '后澄清.gemspec和Gemfile的角色他提到......

...在开发gem时,Gemfile"gem的Gemfile应包含Rubygems源和单个gemspec行".

另一方面,在我的Engine的Gemfile(使用Rails生成rails plugin new my_engine)中,有:

# jquery-rails is used by the dummy application
gem "jquery-rails"
Run Code Online (Sandbox Code Playgroud)

所以这似乎是正确的.更新:不,它没有!看下面的答案......

仍然,在StackOverflow上的其他地方我看到解决方案据说只需要所需的宝石config/application.rb,而/sf/ask/361172521/ -into-the-it它被告知要充分利用lib/<your_engine>/engine.rb file.

这是我的想法:为什么test/dummy应用程序不会自动要求.gemspec文件中指定的所有Gems ?我们甚至告诉宝石,哪些宝石用于生产,哪些用于开发模式,明确使用add_dependencyadd_development_dependency,所以我没有看到任何理由test/dummy不这样做.

所以这是最后一个问题:我究竟要在哪里告诉Ruby在我的test/dummy应用程序中使用gem ?我不想强迫RUBY在主机APP中使用GEM.

gem ruby-on-rails rails-engines gemfile

17
推荐指数
2
解决办法
3249
查看次数

为什么"rails s"不能从app目录中运行?

我在我的app文件夹中,但命令rails s无效.我在Stack Overflow上阅读了很多帖子,其中大部分内容似乎来自不在其app目录中的用户.

另外,我还构建了一些其他应用程序.我检查了这些,Rails服务器适用于所有这些应用程序.这是唯一一个我无法启动它的地方.

产量which rails:

/Users/jmcrist/.rvm/gems/ruby-2.0.0-p247/bin/rails
Run Code Online (Sandbox Code Playgroud)

产量rails s:

MacBook-Pro:first_app jmcrist$ rails s
Usage:
  rails new APP_PATH [options]

Options:
  -r, [--ruby=PATH]              # Path to the Ruby binary of your choice
                                 # Default: /Users/jmcrist/.rvm/rubies/ruby-2.0.0-p247/bin/ruby
  -b, [--builder=BUILDER]        # Path to a application builder (can be a filesystem path or URL)
  -m, [--template=TEMPLATE]      # Path to an application template (can be a filesystem path or URL)
      [--skip-gemfile]           # Don't create a Gemfile
      [--skip-bundle]            # Don't run bundle …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails gemfile

17
推荐指数
3
解决办法
2万
查看次数

在Gemfile中设置ruby版本

我可以Gemfile按如下方式设置ruby版本:

ruby '2.0.0'
Run Code Online (Sandbox Code Playgroud)

但是,如果我想要一个特定的版本2.0.0-p353呢?

当我添加它时Gemfile,我得到:

Your Ruby version is 2.0.0, but your `Gemfile` specified 2.0.0-p353
Run Code Online (Sandbox Code Playgroud)

甚至可以设置特定版本?

ruby ruby-on-rails bundler gemfile

17
推荐指数
2
解决办法
1万
查看次数

如何运行“bundle exec jekyll new”。

我正在尝试遵循“使用 Jekyll 创建 GitHub 页面站点”,但是当我运行以下任何命令时:

$ bundle exec jekyll VERSION new .
$ bundle exec jekyll _4.0.0_ new .
$ bundle exec jekyll 4.0.0 new .
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

"Could not locate Gemfile or .bundle/ directory"
Run Code Online (Sandbox Code Playgroud)

我查看了几个与此错误消息相关的 SO 帖子,但似乎没有一个可以解决我的问题。也许我错过了什么?

一些相关细节:

$ ruby -v
ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux]
$ jekyll -v
jekyll 4.0.0
$ type rvm | head -n 1
rvm is a function
$  lsb_release -a
LSB Version:    core-11.0.1ubuntu1-noarch:printing-11.0.1ubuntu1-noarch:security-11.0.1ubuntu1-noarch
Distributor ID: Ubuntu
Description:    Ubuntu 19.10
Release:    19.10
Codename: …
Run Code Online (Sandbox Code Playgroud)

ruby bundler jekyll rvm gemfile

16
推荐指数
1
解决办法
1928
查看次数