为什么我在一个有 Procfile 的目录中才会收到“foreman:command not found”错误提示?

4

我在CentOS系统上,使用yum安装了foreman。

如果在我的主目录下没有Procfile文件,会出现以下情况:

$ foreman start
ERROR: Procfile does not exist.

然而,当我进入一个有Procfile的目录时,例如:
cd ~/supersender

然后,foreman命令不可用,即forem [tab][[tab]无法自动完成,我会得到以下提示:

$ foreman start
-bash: foreman: command not found

你没有在 $PATH 目录中安装 foreman - Barmar
我怀疑你将它安装在了你的主目录下,并且在你的 $PATH 中加入了 .。因此,只有当你在你的主目录下时才能正常工作。 - Barmar
3个回答

9

我之前也遇到过同样的问题。 在一个最近的项目文件夹中,我可以运行'foreman start',但是在一个较旧的文件夹中却出现了以下错误:

$ foreman start
-bash: foreman: command not found

我想把“foreman”添加到PATH路径中也应该可以,但是以下命令对我有效:

$ sudo gem uninstall foreman
$ sudo gem install foreman
$ which foreman
/Users/liwen/.rvm/rubies/ruby-2.2.3/bin/foreman

我还不知道最近和早期的文件夹中,“foreman”之间的差异,但是上面的方法适用于我。


5

我在通过gem install foreman全局安装foreman后遇到了这个问题。

我在使用Ruby 2.7.1(通过rvm)时安装了它,但我的项目使用的是Ruby 3.1.0,因此找不到它。

切换到3.1.0,然后再次安装解决了我的问题。

rvm use 3.1.0 && gem install foreman

对于使用rbenv,请输入“rbenv local 3.0.4 && gem install foreman” - random_user_0891

0

macOS

我通过使用brew安装foreman来解决了这个问题:

brew install foreman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接