Tag: 捆绑器

“不要以root身份运行bundler” – 使用root所产生的确切差异是什么?

如果以root身份登录时从命令行运行ruby bundler,则会收到以下警告: 不要以root身份运行Bundler。 如果需要,Bundler可以请求sudo,并且以root身份安装捆绑包将破坏此计算机上所有非root用户的应用程序。 以root身份运行bundler对它安装的gem有什么区别? 是否与为每个gem安装的实际文件的权限有关? Ruby会尝试以非root用户身份访问gem文件(如果是这样,Ruby将使用哪个用户/组以及如何查找)? 由于bundle用作root用户而导致应用程序崩溃的症状是什么? 我问的具体原因是因为我试图在一个非常基本的Centos VPS上使用bundler,我不需要设置任何非root用户。 我遇到了通过bundler安装gems的其他问题 ( Error: file to import not found or unreadable: gemname尽管gem list中存在有问题的gem list ,但是我想知道是否通过Bundler以root身份安装gem可能有使文件对Ruby不可读。 我想解决这个问题,如果我确实需要设置一个纯粹用于运行bundler的非root用户帐户,如果我这样做,那么这个用户需要哪些组和权限才能允许Ruby运行gems bundler安装。 或者我可以只是chown或chgrpgem文件夹? 如果是这样,它是否依赖于与Ruby的安装方式有关? (我使用RVM和我的gem最终在/usr/local/rvm/gems/由root rvm中的root拥有) 这个松散相关的问题的答案暗示了Ruby的安装方式的未指定方面会影响bundler的权限要求 。 研究“不要以root身份运行捆绑包”消息只会出现一个未回答的问题和抱怨,这个警告显然“就像它说要在晚上8点睡觉”(链接包含NSFW语言) 。

我如何找出gem包在特定版本中锁定gem的原因?

我正在尝试在我的gem文件中指定thrift gem的一个版本。 gem ‘thrift’, “~> 0.6.0” 当我尝试运行bundle install ,我收到此错误: You have requested: thrift ~> 0.6.0 The bundle currently has thrift locked at 0.5.0. Try running `bundle update thrift` 如何找出导致它被锁定在早期版本的原因? 它是否符合我在gem文件中列出的另一个gem的要求? 或者它只是由安装版本为0.5.0引起的,并且在gem文件中指定版本不会更新已安装的gem?

在Gemfile中设置环境,以便根据自定义文件捆绑安装/更新

嗨,我建立了一个sinatra应用程序,捆绑的主要文件如下, 的environment.rb require ‘sinatra’ require ‘sequel’ ENV[‘RACK_ENV’] = ‘development’ configure :production do #do something end configure :development, :test do #do something end 的Gemfile gem ‘sinatra’ gem ‘sequel’ gem ‘pg’, :group => :production gem ‘sqlite3′, :group => [:development, :test] 那么,如何在我的environment.rb文件中基于ENV [‘RACK_ENV’]安装bundle。

执行“bundle install”后无法找到Gemfile

嘿,我是Rails的新手,刚开始按照教程的步骤创建了我的第一个项目。 我使用: rails myapp创建了新项目。 然后我应该执行bundle install ,这不起作用因为没有安装bundler,在Gems上更新并安装bundler之后我已经能够执行bundle install ,但每次收到:找不到Gemfile 我检查了我的项目目录,确实没有Gemfile,但是应该自动创建吗? 提前致谢

Ruby on Rails。 捆绑。 黄瓜。 耙子流产了! 命令失败,状态为(1)

我在使用Bundler和Cucumber和Rails 3时遇到问题。 当我运行$ rake cucumber我得到以下输出: bundle exec / usr / local / bin / ruby​​ -I“/usr/local/lib/ruby/gems/1.9.1/gems/cucumber- 0.8.5 / lib:lib“”/ usr / local / lib / luby / gems / 1/1 / gems / cucumber-0.8.5 / bin / cucumber“–profile default (在/ home / / practice / rails / blog中) 使用默认配置文件… UUUU 1个场景(1个未定义) 4个步骤(4个未定义) 0m1.552s 您可以使用以下代码段实现未定义步骤的步骤定义: 给/ […]

从Rails 4.0更新到4.1会导致sass-rail railties版本冲突

我正在尝试将我的Rails 4.0应用程序更新为4.1。 该应用程序使用sass-rails ,当我尝试使用bundle update rails更新它时,我收到以下错误: Bundler could not find compatible versions for gem “railties”: In Gemfile: rails (= 4.1) ruby depends on railties (= 4.1.0) ruby sass-rails (~> 4.0) ruby depends on railties (4.1.1) 任何想法如何解决或修复它?

如何修复意外的’sudo bundle install dir_name’?

我不小心运行了sudo bundle install smtp_mail ,现在我的所有gem都在我的Rails应用程序中名为smtp_mail目录中。 我不确定gem的默认位置? 并且,我的Rails应用程序在它启动时抱怨。 有没有办法可以恢复?

无法安装JSON gem

我需要安装json,因为我收到此错误: Could not find json-1.4.6 in any of the sources 我运行了gem install json和bundle install但是当我需要json-1.4.6时,我只能安装json-1.5.1 我的gem ‘json’, ‘1.4.6’有gem ‘json’, ‘1.4.6’ ,所以我不确定发生了什么…… UPDATE 我收到此错误: 安装json(1.4.6)/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/fileutils.rb:1216:in`chmod’:不允许操作 – / Library / Ruby / Gems / 1.8 / gems / json-1.4.6 / CHANGES(Errno :: EPERM)

“rails s”和“bundle exec rails s”有什么区别?

rails s和bundle exec rails s什么区别? 人们似乎都说bundle exec rails s更好,但为什么呢? 同时这篇文章说rails s更好。 这是什么?

Bundler将我的gem放在我的项目目录中

我在Ruby 1.9.2上有一个Rails 3rc应用程序工作正常,但Bundler在我的项目目录中不断创建一个名为“bandsintown”的文件夹(bandsintown是我使用的gem)。 据我所知,该文件夹中包含了我的所有gem。 我很确定这从未发生过。 这是正常的行为吗? 我认为这可能会干扰运行测试。 我得到一个“命令失败,状态(1)”错误,然后它几次提到“bandsintown”文件夹。 我觉得奇怪的是Bundler将文件夹命名为“bandsintown”,即使我在gemfile中注释掉了这个gem。 在那个文件夹中有一个“ruby”文件夹,在“ruby”文件夹中有一个“1.9.1”文件夹。 当我使用1.9.2时,我不明白为什么它会说1.9.1。 1.9.1文件夹里面有bin,bundler,cache,doc,gems和specification文件夹。 我用所有相同的gem制作了一个testapp并进行了捆绑安装。 它不会创建一个包含所有gem的新文件夹。 无论如何,我的应用程序工作正常,但我很感激,如果有人可以帮助我在这里。 如果我遗漏了任何需要知道的信息,请告诉我。 谢谢。