【问题标题】:bundle install returns "Could not locate Gemfile"捆绑安装返回“找不到 Gemfile”
【发布时间】:2012-04-18 05:22:11
【问题描述】:

我是 Rails 新手,目前正在阅读指南。 该指南指出:

使用文本编辑器更新 Bundler 所需的 Gemfile 清单 2.1 的内容。

source 'https://rubygems.org'

gem 'rails', '3.2.3'

group :development do
  gem 'sqlite3', '1.3.5'
end


# Gems used only for assets and not required
# in production environments by default.

group :assets do
  gem 'sass-rails',   '3.2.4'
  gem 'coffee-rails', '3.2.2'
  gem 'uglifier', '1.2.3'
end

gem 'jquery-rails', '2.0.0'

group :production do
  gem 'pg', '0.12.2'
end

然后我们使用bundle install 安装并包含gem 命令:

    $ bundle install --without production 

如果 Bundler 抱怨 no such file to load -- readline (LoadError),请尝试将 gem ’rb-readline’ 添加到您的 Gemfile。)

我按照这些步骤甚至将gem 'rb-readline' 添加到Gemfile,但显然找不到该文件,当我转到我的文本编辑器时,我确实看到了Gemfile 本身。我注意到他们让我输入gem 'rails', 3.2.3,而我的 Rails 版本是 3.2.1,所以我尝试将其更改为 3.2.1,但也没有用。

任何想法或建议将不胜感激。

【问题讨论】:

  • 为什么在 Gemfile 列表中添加 - - 字符?
  • 不,不,我只是把它放在那里,这样对你们来说更具可读性,因为我还不能使用图像.. 我使用 sublime 文本编辑器只是为了你的信息。
  • 我找到了问题的解决方案。我想从该文件夹位置“$cd demo_app”然后“$install bundle”。 :)
  • 这为我解决了这个问题:jekyllrb.com/docs.

标签: ruby-on-rails installation bundle gemfile


【解决方案1】:

在我的情况下,这有效:

  • cd /usr/bin
  • touch Gemfile
  • 现在您可以运行bundle install。

【讨论】:

  • touch Gemfile 返回:touch: Gemfile: Operation not permitted
【解决方案2】:
sudo gem install rails

我的问题解决了,只需要这段代码。

【讨论】:

  • “sudo gem ....”的习惯是非常不鼓励的,因为它使人们非常容易受到攻击,以 root 身份运行任意开源。
【解决方案3】:
  1. 确保文件名大写 Gemfile 而不是 gemfile。
  2. 确保您与Gemfile 位于同一目录中。

【讨论】:

    【解决方案4】:

    我在 Ubuntu 18.04 上遇到了这个问题。我更新了宝石

    sudo gem install rails
    sudo gem install jekyll
    sudo gem install jekyll bundler
    cd ~/desiredFolder
    jekyll new <foldername>
    cd <foldername> OR 
    bundle init
    bundle install
    bundle add jekyll
    bundle exec jekyll serve
    

    一切正常,转到您的浏览器只需转到http://127.0.0.1:4000/,它确实应该正在运行

    【讨论】:

    • 这对我有用。谢谢
    【解决方案5】:

    您必须与Gemfile在同一目录中

    【讨论】:

      【解决方案6】:

      我在 OSX 机器上也遇到过这个问题。我发现没有安装 rails ......这让我感到惊讶,因为我认为 OSX 总是带有 Rails。 安装导轨

      • sudo gem install rails
      • 安装 jekyll 我还需要 sudo
      • sudo gem install jekyll bundler
      • cd ~/Sites
      • jekyll new &lt;foldername&gt;
      • cd &lt;foldername&gt; 或 cd !$ (这很神奇;)
      • bundle install
      • bundle exec jekyll serve
      • 然后在您的浏览器中转到 http://127.0.0.1:4000/ 它确实应该运行

      【讨论】:

      【解决方案7】:

      在您的项目中搜索 Gemfile 文件,进入该目录,然后运行“bundle install”。在运行此命令之前,请确保您已安装 gem "sudo gem install bundler"

      【讨论】:

      • 他做了一个“捆绑安装”,我不明白你的回答
      【解决方案8】:

      当我遇到类似问题时,gem update --system 帮助了我。在bundle install之前运行这个

      【讨论】:

        【解决方案9】:

        仔细考虑您正在安装什么并导航 Gemfile 文件夹,然后尝试使用 sudo bundle install

        【讨论】:

        • 你不应该使用 sudo 运行 bundle
        【解决方案10】:

        您只需将目录更改为您的应用程序,然后运行 ​​bundle install :)

        【讨论】:

        • @svoisen, :D Google 在搜索此特定问题时将您的答案包含在 sn-p 中,顺便说一句。来自睡眠不足的未来的欢呼和感谢!
        • 顺便说一句,您可以使用 whereis &lt;app_name&gt; 命令找到您的应用程序目录,通常 Gemfile 位于 /usr/shared/*
        • 应用也可以在/opt/的文件夹中
        • 只需添加一些移动到项目文件夹的间隙,而不是项目的'bin'文件夹:)
        【解决方案11】:

        您也可以在同一命令中指明 gemfile 的路径,例如

        BUNDLE_GEMFILE="MyProject/Gemfile.ios" bundle install
        

        【讨论】:

        • 完美答案。因为在我的情况下,我无法在任何地方获得访问捆绑命令。 [root@alc bin]# BUNDLE_GEMFILE="../../apps/redmine/htdocs/Gemfile" ./bundle install 是我要执行的命令。
        • 由于某种原因,我在将 Gemfile 复制到 docker 容器时遇到了这个问题,我找不到 .bundle 并且我已经设置了 WOKRDIR,但它似乎没有为 bundle install 捕获它,这成功了!
        猜你喜欢
        • 2011-08-19
        • 1970-01-01
        • 2013-09-02
        • 2020-12-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-02-20
        相关资源
        最近更新 更多