【问题标题】:Unable to create rails app in local无法在本地创建 rails 应用程序
【发布时间】:2019-08-26 08:02:37
【问题描述】:

请参阅随附的屏幕截图。我无法在本地创建 Rails 应用程序。之前发布过类似的查询 https://stackoverflow.com/questions/44510632/bundle-install-unable-to-execute-usr-local-bin-bundle-no-such-file-or-directo

仍然没有找到任何有用的解决方案

依赖 tzinfo-data (>= 0) 将不会被 Bundler 安装的任何平台使用。 Bundler 正在为 ruby​​ 安装,但依赖项仅适用于 x86-mingw32、x86-mswin32、x64-mingw32、java。要将这些平台添加到捆绑包中,请运行 bundle lock --add-platform x86-mingw32 x86-mswin32 x64-mingw32 java。 尝试写入时出错 /home/vishnu/.bundle/cache/compact_index/rubygems.org.443.29b0360b937aa4d161703e6160654e47/versions。您可能需要授予 write 该路径的权限。 运行 bundle exec spring binstub --all 捆绑器:找不到命令:弹簧 使用bundle install 安装缺少的 gem 可执行文件 vishnu@vishnu-Inspiron-3543:~$ 捆绑安装 找不到 Gemfile vishnu@vishnu-Inspiron-3543:~$ bundle exec spring binstub --all 找不到 Gemfile 或 .bundle/ 目录

【问题讨论】:

  • 请张贴文字——那是文字,图片难以阅读。
  • 请把文字贴上红色。图片不清晰
  • 很抱歉给您带来不便

标签: ruby-on-rails ruby


【解决方案1】:

这里有多个错误。让我们一一探索。

  1. There was an error while trying to write to /home/vishnu/.bundle/cache/compact_index/rubygems.org.443.29b0360b937aa4d161703e6160654e47/versions. It is likely that you need to grant write permissions for that path. run bundle exec spring binstub --all bundler: command not found: spring Install missing gem executables with bundle install

正如错误清楚地表明,您需要授予/home/vishnu/.bundle/cache/compact_index/rubygems.org.443.29b0360b937aa4d161703e6160654e47/versions 目录的写权限。你能检查一下/home/vishnu/ 目录的权限是什么吗?您可以通过发出命令检查 ls -l /home/vishnu

  1. vishnu@vishnu-Inspiron-3543:~$ bundle install Could not locate Gemfile

您需要导航到 Rails 创建的项目目录,然后发出bundle 命令。在发出bundle install 之前,确保Gemfile 存在于该目录中。

  1. vishnu@vishnu-Inspiron-3543:~$ bundle exec spring binstub --all Could not locate Gemfile or .bundle/ directory

同上。

按照上述故障排除步骤,如果这能解决问题,请告诉我们。

【讨论】:

    【解决方案2】:
    sudo chown $(whoami):$(whoami) ~/.bundle/cache/compact_index/rubygems.org.443.29b0360b937aa4d161703e6160654e47/versions
    

    这为我解决了这个问题。

    编辑: 大多数 unix 风格的操作系统中的 whoami 命令打印当前登录用户的用户名。

    您收到的错误详情:

    尝试写入 /home/vishnu/.bundle/cache/compact_index/rubygems.org.443.29b0360b937aa4d161703e6160654e47/versions 时出错。您可能需要授予该路径的写入权限。

    为了授予该路径的写入权限,您可以将所有者更改为您的用户。 chown 更改每个给定文件的用户和/或组所有权。

    正如 cmets 中有人所说,粘贴的命令将更改给定文件的所有者和组。

    注意:您可能不需要更新组。只需将所有者更改为您的用户就足够了,但这就是我解决此错误的方法。

    在冒号之前提供的参数定义了将哪个用户指定为所有者。冒号后面的参数表示组。

    在您的情况下,所有者设置为 vivek(假设这是当前登录的用户)。

    希望对您有所帮助!

    【讨论】:

    • 请注意,这会将传递目录的所有者和组更改为whoami 命令的输出。小心盲目复制,并确保在您真正想要“声明”您的目录上运行它。
    • 解释你的答案。没有人需要没有解释的代码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-02
    • 1970-01-01
    • 1970-01-01
    • 2012-06-11
    • 2021-05-10
    相关资源
    最近更新 更多