2015-09-29 47 views
26

Vì vậy, tôi đã phạm sai lầm khi cố loại bỏ tất cả các phụ thuộc sudo. Tôi đã tải xuống npm dưới dạng gói từ trang web và đã cài đặt thủ công/toàn cầu. Nhưng có vẻ như tôi luôn phải chạy với sudo ... vì vậy tôi đã cố gỡ cài đặt và chạy với homebrew.Cài đặt homebrew npm: không thể liên kết tượng trưng

Bây giờ tôi không thể có được nút hoặc NPM thậm chí chạy ... Tôi đoán tôi phải liên kết với brew liên kết chúng nhưng tôi nhận được lỗi này:

Could not symlink share/doc/node/gdbinit 
Target /usr/local/share/doc/node/gdbinit 
already exists. You may want to remove it: 
    rm '/usr/local/share/doc/node/gdbinit' 

tôi đã cố gắng loại bỏ mà : Và tôi đã nhận được sự cho phép từ chối.

Tôi đã thử chạy prune brew. Tôi đã thử gỡ bỏ sau đó cài đặt sử dụng các bước sau:

$ brew uninstall npm 
$ brew uninstall node 
$ npm uninstall npm -g 
$ sudo rm -rf /usr/local/lib/node_module 

Error: The 'brew link' step did not complete successfully

Tôi đang chạy Yosemite 10.10.5. Tôi đã cài đặt phiên bản git 2.6.0. My homebrew được cập nhật. Một bác sĩ pha chế cung cấp cho tôi cảnh báo này:

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: 
    node 

Không chắc chắn nên đi đâu từ đây. Tôi đang cố đánh mất sự phụ thuộc của tôi vào CodeKit và bắt đầu chạy trốn.

+0

'Tôi đã cố gắng loại bỏ rằng: Và tôi đã nhận được sự cho phép denied.' - Đó là bởi vì bạn cài đặt như gốc ở nơi đầu tiên. Bây giờ bạn phải loại bỏ bằng cách sử dụng 'sudo rm '/ usr/local/share/doc/node/gdbinit''. Lưu ý: Nếu bạn sử dụng homebrew, không cài đặt bất cứ điều gì với 'sudo install' nữa vào/usr/local. Điều này sẽ tạo ra một mớ hỗn độn lớn. – cel

+0

Bây giờ tôi nhận 'không thể chia sẻ liên kết/hệ thống/systemtap/tapset/node.stp/usr/local/share/system/tapset không thể ghi được. Tôi đã thử làm một sudo chown -R 'tên người dùng'/usr/local/share/system/tapset nhưng điều đó không hoạt động. – pwhitt

+0

Tôi chỉ đơn giản là xóa tất cả các tập tin va chạm. Đó là một chút kỳ quặc, nhưng đó là lý do tại sao chúng tôi có các nhà quản lý gói tuyệt vời như hombrew. Gỡ cài đặt bằng tay chỉ đơn giản là quá đau đớn. – cel

Trả lời

81

Dường như một số tệp và thư mục trong /usr/local hiện thuộc sở hữu của root, vì bạn đã chạy một vài bước bằng cách sử dụng sudo. Để thoát khỏi đó, lấy lại quyền sở hữu của tất cả các tập tin và thư mục dưới /usr/local:

sudo chown -R $USER /usr/local 

Khi đã xong, chạy brew doctor một lần nữa.

câu hỏi tương tự có thể được tìm thấy ở đây:

+1

Bạn đã thực hiện một ngày của tôi. Tôi đã cố sửa lỗi này trong một thời gian cho đến khi nhận được câu trả lời này –

+0

Bạn có thể chọn thư mục/usr/local nếu có nhiều người dùng không? – Omtara

+0

Câu hỏi hay. Phiên bản gần đây nhất của Homebrew không yêu cầu 'chown' nữa, từ những gì tôi hiểu. Nếu bạn vẫn phải 'chown', hãy đảm bảo rằng tất cả người dùng được bao gồm trong nhóm sở hữu thư mục và nhóm đó cũng có quyền ghi. – nwinkler

Các vấn đề liên quan