我当然不是 Ruby 开发人员,但我的服务器上有一个使用 Ruby、Gems 和 Bundler 的应用程序。我正在尝试在不同的用户帐户下但在同一个 VPS 上安装另一个 Ruby。当我去跑步
bundle install
我收到以下错误:
找不到 Gemfile
我可以删除 ./bundle 目录的内容,以便重新获取所有 Gem 以清除错误,但这会对使用相同 Gems 和 Bundler 的其他应用程序产生影响吗?我不想冒险关闭其他应用程序。
您没有Gemfile
运行该命令的目录。
Gemfile
是一个包含当前程序gem
设置的文件。
确保在运行之前位于项目目录中bundle install
。例如,在运行之后rails new myproject
,你会想要cd myproject
在运行之前bundle install
。
我有同样的问题,并通过使用不同的目录解决了它。
bash-4.2$ 捆绑安装 找不到 Gemfile bash-4.2$ 密码 /home/amit/redmine/redmine-2.2.2-0/apps/redmine bash-4.2$ cd htdocs/ bash-4.2$ ls app config db extra Gemfile lib 插件 Rakefile 脚本 tmp bin config.ru doc files Gemfile.lock log public README.rdoc test vendor bash-4.2$ cd 插件/ bash-4.2$ 捆绑安装 使用 rake (0.9.2.2) 使用 i18n (0.6.0) 使用 multi_json (1.3.6) 使用 activesupport (3.2.11) 使用构建器 (3.0.0) 使用 activemodel (3.2.11) 使用 erubis (2.7.0) 使用旅程 (1.0.4) 使用机架 (1.4.1) 使用机架缓存 (1.2) 使用机架测试(0.6.1) 使用远足 (1.2.1) 使用倾斜 (1.3.3) 使用链轮 (2.2.1) 使用动作包 (3.2.11) 使用 mime 类型 (1.19) 使用多语言 (0.3.3) 使用树顶 (1.4.10) 使用邮件 (2.4.4) 使用 actionmailer (3.2.11) 使用 arel (3.0.2) 使用 tzinfo (0.3.33) 使用活动记录 (3.2.11) 使用活动资源 (3.2.11) 使用 Coderay (1.0.6) 使用 rack-ssl (1.3.2) 使用 json (1.7.5) 使用 rdoc (3.12) 使用雷神 (0.15.4) 使用铁轨 (3.2.11) 使用 jquery-rails (2.0.3) 使用 mysql2 (0.3.11) 使用 net-ldap (0.3.1) 使用 ruby-openid (2.1.8) 使用 rack-openid (1.3.1) 使用捆绑器 (1.2.3) 使用导轨 (3.2.11) 使用 rmagick (2.13.1) 你的捆绑我
我通过退出项目目录解决了类似的问题,然后 cd 回到项目目录并捆绑安装。
很简单。当它显示“无法找到 Gemfile”时,这意味着在您当前所在的文件夹或您所在的目录中,没有名为 GemFile 的文件。因此,在您的命令提示符中给出该文件夹的显式或完整路径,其中此类文件名为“Gemfile”,例如 cd C:\Users\Administrator\Desktop\RubyProject\demo。
肯定会在一分钟内解决。
这是您可以尝试的。
将此添加到您用于运行应用程序的任何配置文件中。
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
require 'bundler/setup' # Set up gems listed in the Gemfile.
Bundler.require(:default)
Rails 和其他基于 Rack 的应用程序使用这种方案。有时您会尝试运行一些比 Gemfile 通常所在的根目录更深的目录。当然,你现在解决了这个问题,但偶尔我们都会在寻找 Gemfile 时遇到麻烦。我有时喜欢你也可以在 .bundle 目录中拥有所有的宝石。把这个网站地址放在你的枕头下永远不会有什么坏处。 http://bundle.io/
就我而言,我试图在脚本中运行本地检出的 rails 代码
gem "rails", path: "../rails"
正常运行脚本ruby script.rb
给出错误Could not locate Gemfile or .bundle/ directory (Bundler::GemfileNotFound)
设置类似于@douglasgallen的 Gemfile 路径解决了它
BUNDLE_GEMFILE="../rails" ruby script.rb