我正在使用Ruby,收到了一个带有一些Ruby程序的压缩文件,并且里面写道:在该文件夹内运行bundle install
以安装所需的软件包。
当我在终端中运行该命令时,显示出bundle command not found
。
请问有人能详细描述如何解决这个问题吗?
再次强调,对于那些使用OSX操作系统的人来说
gem install bundler
如果出现权限错误,一个似乎对很多人有效的选项是使用rbenv,这个工具可以在你的 ruby 命令(例如 gem install
)和你的环境之间添加一个“shim”(如果我理解正确的话)。
一定要查看这个答案。
上面的链接中非常清楚地介绍了这个过程。我选择通过 homebrew 安装:
brew update
brew install rbenv
然后您需要向您的配置文件中添加一个参数命令,如果您使用常见的~/.bash_profile
,则可以使用以下命令完成:
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
看起来是通过您的Shell添加一个命令来初始化rbenv。
不要忘记启动一个新的Shell,可以通过打开一个新的终端或使用source ~/.bash_profile
命令来实现。
确保您的$PATH
在您的Shell可能正在寻找Ruby的任何其他目录之前具有此.rbenv/shims
(OSX附带了它自己的版本,我们不想搞乱):echo $PATH
。
which ruby
/Users/mikekilmer/.rbenv/shims/ruby
#GOOD!
现在安装一个版本的 Ruby:
rbenv install 2.2.3
(使用rbenv install -l
命令查看所有可用版本。)
现在,我们可以使用rbenv global 2.2.3
命令将全局的Ruby版本切换为较新的版本。(嗯,我想我们不应该去改动系统自带的版本。)您也可以尝试使用rbenv local 2.2.3
或 rbenv shell 2.2.3
命令。
最后运行:
rbenv rehash
现在运行 ruby -v
命令应该会返回2.2.3
,并且 gem install bundler
命令也应该可以工作。
到此为止。
尝试了这里的每一个解决方案,但都没有奏效。最终我用了两种不同的方法使其工作:
.bashrc
中设置alias bundle=/path/to/bundle
。rbenv
重新创建一个全新的开发环境,并执行bundle install rails
将会修复它(解决了我的问题)。gem install bundler
。终端 -
sudo su
然后输入您的密码:
更改目录:
cd command .
如果您没有写入驱动器的权限。
chmod 755 foldername.
你也可以在终端中使用mkdir命令
mkdir /Library/Ruby/Gems/2.3.0.1
gem install bundler
到终端。Fetching: bundler-1.16.2.gem (100%)
bundler's executable "bundle" conflicts with /usr/local/bin/bundle
Overwrite the executable? [yN] y
bundler's executable "bundler" conflicts with /usr/local/bin/bundler
Overwrite the executable? [yN] y
Successfully installed bundler-1.16.2
Parsing documentation for bundler-1.16.2
Installing ri documentation for bundler-1.16.2
Done installing documentation for bundler after 7 seconds
1 gem installed
适用于OS X High Sierra。