2015-12-12 211 views
1

我正在尝试从约翰斯霍普金斯大学的Ruby课程课程。 Mac OSX设置说明要求我下载自制软件,然后安装rbenv。我已经用我已经做了很长时间的东西来安装brew了,所以也许这个问题是因为我很久以前搞糟了安装ruby/brew。使用Brew安装rbenv

这里是一个的给我发出命令:brew install rbenv ruby-build 我得到的回应是这样的:

Warning: rbenv-0.4.0 already installed, it's just not linked 
==> Installing dependencies for ruby-build: pkg-config, openssl 
Error: Cannot link pkg-config 
Another version is already linked: /usr/local/Cellar/pkg-config/0.28 

更新:下面是运行brew doctor之后所出现:

Warning: /usr/local/bin isn't writable. 

This can happen if you "sudo make install" software that isn't managed 
by Homebrew. If a formula tries to write a file to this directory, the 
install will fail during the link step. 

You should probably change the ownership and permissions of /usr/local/bin 
back to your user account. 
    sudo chown -R $(whoami) /usr/local/bin 

Warning: /usr/local/share isn't writable. 

This can happen if you "sudo make install" software that isn't managed 
by Homebrew. If a formula tries to write a file to this directory, the 
install will fail during the link step. 

You should probably change the ownership and permissions of /usr/local/share 
back to your user account. 
    sudo chown -R $(whoami) /usr/local/share 

Warning: Some directories in /usr/local/share/man aren't writable. 
This can happen if you "sudo make install" software that isn't managed 
by Homebrew. If a brew tries to add locale information to one of these 
directories, then the install will fail during the link step. 

You should probably `sudo chown -R $(whoami)` them: 
    /usr/local/share/man 
    /usr/local/share/man/man1 
    /usr/local/share/man/man5 
    /usr/local/share/man/mann 

Warning: Broken symlinks were found. Remove them with `brew prune`: 
    /usr/local/bin/2to3-3.3 
    /usr/local/bin/apm 
    /usr/local/bin/atom 
    /usr/local/bin/idle3.3 
    /usr/local/bin/python3.3-32 
    /usr/local/bin/pythonw3 
    /usr/local/bin/pythonw3-32 
    /usr/local/bin/pythonw3.3 
    /usr/local/bin/pythonw3.3-32 
    /usr/local/bin/pyvenv-3.3 
    /usr/local/bin/subl 

Warning: Python is installed at /Library/Frameworks/Python.framework 

Homebrew only supports building against the System-provided Python or a 
brewed Python. In particular, Pythons installed to /Library can interfere 
with other software installs. 

Warning: Unbrewed dylibs were found in /usr/local/lib. 
If you didn't put them there on purpose they could cause problems when 
building Homebrew formulae, and may need to be deleted. 

Unexpected dylibs: 
    /usr/local/lib/libMonoPosixHelper.dylib 
    /usr/local/lib/libSFFileMonitor.32.dylib 
    /usr/local/lib/libSFIPC.32.dylib 
    /usr/local/lib/libSFIPC.I.dylib 
    /usr/local/lib/libSFsqlite3.7.4.dylib 
    /usr/local/lib/libSFSyncEngine.I.dylib 
    /usr/local/lib/libtcl8.6.dylib 
    /usr/local/lib/libtk8.6.dylib 

Warning: Unbrewed header files were found in /usr/local/include. 
If you didn't put them there on purpose they could cause problems when 
building Homebrew formulae, and may need to be deleted. 

Unexpected header files: 
    /usr/local/include/fakemysql.h 
    /usr/local/include/fakepq.h 
    /usr/local/include/fakesql.h 
    /usr/local/include/itcl.h 
    /usr/local/include/itcl2TclOO.h 
    /usr/local/include/itclDecls.h 
    /usr/local/include/itclInt.h 
    /usr/local/include/itclIntDecls.h 
    /usr/local/include/itclMigrate2TclCore.h 
    /usr/local/include/itclTclIntStubsFcn.h 
    /usr/local/include/mysqlStubs.h 
    /usr/local/include/node/ares.h 
    /usr/local/include/node/ares_version.h 
    /usr/local/include/node/nameser.h 
    /usr/local/include/node/node.h 
    /usr/local/include/node/node_buffer.h 
    /usr/local/include/node/node_internals.h 
    /usr/local/include/node/node_object_wrap.h 
    /usr/local/include/node/node_version.h 
    /usr/local/include/node/openssl/opensslconf.h 
    /usr/local/include/node/uv-private/ngx-queue.h 
    /usr/local/include/node/uv-private/stdint-msvc2008.h 
    /usr/local/include/node/uv-private/tree.h 
    /usr/local/include/node/uv-private/uv-bsd.h 
    /usr/local/include/node/uv-private/uv-darwin.h 
    /usr/local/include/node/uv-private/uv-linux.h 
    /usr/local/include/node/uv-private/uv-sunos.h 
    /usr/local/include/node/uv-private/uv-unix.h 
    /usr/local/include/node/uv-private/uv-win.h 
    /usr/local/include/node/uv.h 
    /usr/local/include/node/v8-debug.h 
    /usr/local/include/node/v8-preparser.h 
    /usr/local/include/node/v8-profiler.h 
    /usr/local/include/node/v8-testing.h 
    /usr/local/include/node/v8.h 
    /usr/local/include/node/v8stdint.h 
    /usr/local/include/node/zconf.h 
    /usr/local/include/node/zlib.h 
    /usr/local/include/odbcStubs.h 
    /usr/local/include/pqStubs.h 
    /usr/local/include/tcl.h 
    /usr/local/include/tclDecls.h 
    /usr/local/include/tclOO.h 
    /usr/local/include/tclOODecls.h 
    /usr/local/include/tclPlatDecls.h 
    /usr/local/include/tclThread.h 
    /usr/local/include/tclTomMath.h 
    /usr/local/include/tclTomMathDecls.h 
    /usr/local/include/tdbc.h 
    /usr/local/include/tdbcDecls.h 
    /usr/local/include/tdbcInt.h 
    /usr/local/include/tk.h 
    /usr/local/include/tkDecls.h 
    /usr/local/include/tkPlatDecls.h 

Warning: Unbrewed .pc files were found in /usr/local/lib/pkgconfig. 
If you didn't put them there on purpose they could cause problems when 
building Homebrew formulae, and may need to be deleted. 

Unexpected .pc files: 
    /usr/local/lib/pkgconfig/tcl.pc 
    /usr/local/lib/pkgconfig/tk.pc 

Warning: Unbrewed static libraries were found in /usr/local/lib. 
If you didn't put them there on purpose they could cause problems when 
building Homebrew formulae, and may need to be deleted. 

Unexpected static libraries: 
    /usr/local/lib/libtclstub8.6.a 
    /usr/local/lib/libtkstub8.6.a 

Warning: You have unlinked kegs in your Cellar 
Leaving kegs unlinked can lead to build-trouble and cause brews that depend on 
those kegs to fail to run properly once built. Run `brew link` on these: 
    rbenv 

Warning: You have uncommitted modifications to Homebrew 
If this is a surprise to you, then you should stash these modifications. 
Stashing returns Homebrew to a pristine state but can be undone 
should you later need to do so for some reason. 
    cd /usr/local/Library && git stash && git clean -d -f 

Warning: /usr/bin occurs before /usr/local/bin 
This means that system-provided programs will be used instead of those 
provided by Homebrew. The following tools exist at both paths: 
    2to3 
    2to3-2.7 
    easy_install 
    easy_install-2.7 
    idle 
    idle2.7 
    info 
    infokey 
    install-info 
    makeinfo 
    pydoc 
    pydoc2.7 
    python 
    python-config 
    python2.7 
    python2.7-config 
    pythonw 
    pythonw2.7 
    smtpd.py 
    smtpd2.7.py 
    tclsh 
    tclsh8.5 
    texi2dvi 
    texi2pdf 
    texindex 
    wish 
    wish8.5 

Consider setting your PATH so that /usr/local/bin 
occurs before /usr/bin. Here is a one-liner: 
    echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bash_profile` 

新更新: 我做brew prune,更改了它建议的文件的所有权(其中一些找不到)。最后,当我运行brew install rbenv ruby-build我得到以下错误:

Warning: rbenv-0.4.0 already installed, it's just not linked 
Warning: ruby-build-20151028 already installed 

下一步是做rbenv install 2.2.3,但rbenv命令没有找到。似乎以某种方式安装失败。 which rbenv也没有输出。

+2

尝试运行'brew doctor'并让我们知道输出。应该帮助确定你的问题。 – tombeynon

回答

1

根据brew医生的说法,您不能编辑它试图安装文件的目录。尝试运行

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

等,像酿造医生告诉你:

You should probably change the ownership and permissions of /usr/local/share 
back to your user account. 
    sudo chown -R $(whoami) /usr/local/share 

编辑: 你可能想看看输出的这部分,列出你需要运行的东西命令。

You should probably `sudo chown -R $(whoami)` them: 
    /usr/local/share/man 
    /usr/local/share/man/man1 
    /usr/local/share/man/man5 
    /usr/local/share/man/mann 
+0

我需要运行'brew prune'吗? – Asif

+0

嗯,链接被认为是破碎的,所以我不认为它会受到伤害。但是这不是安装所必需的,它们似乎是与python相关的链接。 – DanilaFe