【问题标题】:"You don't have [PATH ]in your PATH, gem executables will not run." while using "gem install --user-install bundler"“您的 PATH 中没有 [PATH],gem 可执行文件将无法运行。”使用“gem install --user-install bundler”时
【发布时间】:2018-12-30 16:27:15
【问题描述】:

我试图在我的 Mac 上安装 jekyll 并收到如下警告:

警告:您没有 /Users/Carrot/.gem/ruby/2.3.0/bin 您的 PATH,gem 可执行文件将不会运行。

我检查了 gem 列表,它显示它已安装;我可以通过路径“/Users/Carrot/.gem/ruby/2.3.0/bin”找到jekyll。我读了post,这似乎是我的情况。我想知道是否必须通过sudo?我现在更喜欢卸载所有东西(因为它还同时安装了 sass 和一堆东西)并通过自制软件。如何进行卸载?

非常感谢!

【问题讨论】:

    标签: ruby rubygems


    【解决方案1】:

    对于那些对@lamech-desai 答案有疑问的人,(实际上,当他们执行 Desai 的 命令时,它显然对他们暂时有效)。 因此,您可以轻松地做到这些:

    如果您想使用 bash,请打开 ~/.bshrc;如果您使用的是 zsh,请打开 ~/.zshrc或其他...

    $ sudo nano .bashrc    ## bash users
    $ sudo nano .zshrc     ## zsh users
    

    然后将这两行代码复制并粘贴到 .*rc 文件的末尾:

    export GEM_HOME="$(ruby -e 'puts Gem.user_dir')"
    export PATH="$PATH:$GEM_HOME/bin"
    

    然后只需按ctrl+sctrl+x。这会将更改保存到.bashrc,但您不会立即看到它们 - 直接在您使用当前用户的下一次 shell 登录时。立即查看更改的一种方法是使用su root 将用户切换到root,然后使用su <username> 切换回您以前的用户 - 瞧,您的.bashrc 将被重新加载。您也可以通过echo $PATH 进行检查。

    感谢@lamech-desai 的精彩回答

    【讨论】:

    • 执行此操作后不要忘记重新加载您的.bashrc 设置,否则您将不会立即看到此更改。一种方法是su root,然后再次su <your user>,然后您将在您的路径中看到红宝石。您还可以通过echo $PATH 进行检查。
    【解决方案2】:

    如果您使用的是 arch linux,只需在终端中使用以下命令

    [user~]$ export GEM_HOME="$(ruby -e 'puts Gem.user_dir')"
    [user~]$ export PATH="$PATH:$GEM_HOME/bin"
    [user~]$ gem list
    [user~]$ gem update
    

    【讨论】:

    • 每次开机都要运行这个吗?
    • 导出命令将这些变量永久保存到哪里?我认为关闭外壳会清除它们
    • 如果您遇到与临时设置相关的问题,请使用下面 qafoori 的解决方案,因为此解决方案取决于您使用的系统
    【解决方案3】:

    【讨论】:

    • 感谢您的回复。我刚试过,它什么也没返回。我怎么知道它是否有效?
    【解决方案4】:

    如果你像我一样使用 Mac,则需要将 PATH 添加到 PATH 环境变量中。你可以使用export 命令来做到这一点:

    export PATH="/Users/Carrot/.gem/ruby/2.3.0/bin:$PATH"
    

    如果您想了解有关此过程的更多信息,请参阅有关此的博客文章:Adding a Path to the Linux PATH Variable

    【讨论】:

    • 应该不需要第二次export这个变量;你的 shell 已经为你完成了,除了最深奥的场景。
    【解决方案5】:

    回答我自己的问题可能有点奇怪,但我最终还是像盲蝇一样解决了这个问题。我希望把经验写下来,也许还有谁和我完全一样,作为一个绝对的初学者,一切都不会在一夜之间陷入困境。

    第 1 阶段:从 gem 到自制程序(失败)

    一开始,我确实逐项删除了安装在 gem 中的项目,然后我安装了 brew-gem 来执行此操作。在某个阶段,它适用于 jekyll,但不适用于我的主题。它一直弹出我没有安装主题需要的包,即使我手动安装了它。所以最后,我从自制软件中删除了与 jekyll 相关的所有内容。

    第 2 阶段:回到 gem(很长的路,但终于成功了)

    后来我找到了page告诉一步一步安装jekyll。我正在使用 OSX 10.13 (High Sierra) 导致我出现权限问题。所以我只是通过这一行授予访问权限:

    sudo chown -R $(whoami) /usr/local/*
    

    * 是必须的,否则将不起作用。我对红宝石部分做了同样的事情

    sudo chown -R $(whoami) /Library/Ruby/Gems/2.3.0/*
    

    之后,我按照说明仔细安装了 jekyll 和 bundler。并通过gem install手动安装主题需要的包,你可以在Gemfile找到。遇到类似this的jekyll-sitemap问题,按照gem install pygments.rb的方法安装pygment.rb。现在我的网站在本地工作。

    【讨论】:

    • 我个人不建议在 homebrew 下安装(即使在一件事情下管理所有东西很诱人),因为我没能使它工作,我发现一些他们也不推荐的帖子,最好去通过原来的方式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-02
    • 1970-01-01
    • 1970-01-01
    • 2011-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多