2012-07-04 19 views
62

Tôi vừa cài đặt nhà soạn nhạc trong thư mục /usr/bin của mình, vì vậy khi từ thư mục đó tôi chạy php composer.phar Tôi nhận được thông tin trợ giúp về nhà soạn nhạc. Nhưng, khi tôi cố gắng chạy giống nhau từ thư mục khác, tôi nhận được Could not open input file: composer.phar.Làm cách nào để chạy trình soạn thảo từ mọi nơi?

Cách gọi php composer.phar từ mọi nơi mà không gặp sự cố?

Trả lời

46

composer.phar có thể tự chạy, không cần thêm tiền tố với php. Điều này sẽ giải quyết vấn đề của bạn (trong sự khác biệt của $ pATH của bash và include_path của php).

+9

Bạn cũng có thể đổi tên nó để chỉ nhà soạn nhạc và sau đó bạn chỉ có thể làm 'soạn install'. – Seldaek

+0

composer.phar của tôi đã được cài đặt. (Tôi Chekced bằng cách sử dụng php composer.phar) Nhưng, tôi không nhận được vị trí. Làm thế nào để tìm đường dẫn của vị trí composer.phar? Tôi đang sử dụng UBUNTU. –

+0

Nếu bạn có thể chạy 'php composer.phar', thì có thể nó nằm trong thư mục hiện tại của bạn. – Maerlyn

85

Bạn có thể làm một global installation:

Kể từ Composer làm việc với các thư mục làm việc hiện tại chúng ta có thể cài đặt nó một cách rộng hệ thống.

  1. Thay đổi vào một thư mục trong đường dẫn của bạn nhưcd /usr/local/bin
  2. Nhận Composercurl -sS https://getcomposer.org/installer | php
  3. Tận dụng tối Phar thực thichmod a+x composer.phar
  4. Thay đổi vào một thư mục dự áncd /path/to/my/project
  5. Sử dụng Composer như bình thườngcomposer.phar install
  6. Tùy chọn bạn có thể đổi têncomposer.phar-composerđể làm cho nó dễ dàng hơn

Cập nhật: Đôi khi bạn không thể hoặc không muốn tải về tại /usr/local/bin (một số đã có kinh nghiệm cho phép người dùng các vấn đề hoặc truy cập bị hạn chế), trong trường hợp này bạn có thể thử này

  1. mở terminal
  2. curl -sS http://getcomposer.org/installer | php -- --filename=composer
  3. chmod a+x composer
  4. sudo mv composer /usr/local/bin/composer
+3

Họ không lưu ý rằng bạn cần phải đổi tên tập tin cho nó để được gọi với chỉ 'nhà soạn nhạc' - lưu ý tốt ở đây. –

+2

@AndrewAtkinson Hoặc bạn có thể đổi tên trước khi tải xuống với 'curl -sS https://getcomposer.org/installer | php - --filename = composer' – quantme

+0

Chỉ muốn nói lời cảm ơn vì điều này. Tôi đã gặp khó khăn trong việc hiểu được logic cơ bản, và chính bản thân getcomposer.org không làm tốt công việc giải thích điều này, vì vậy cảm ơn! Tôi đã làm việc đó. –

1

Để chạy nó từ vị trí khác, bạn có thể sử dụng chương trình soạn nhạc đi kèm với chương trình. Nó về cơ bản là một kịch bản bash.Nếu bạn không có nó, bạn có thể tạo một bằng cách đơn giản sao chép đoạn mã sau vào một file văn bản

#!/bin/sh 

dir=$(d=$(dirname "$0"); cd "$d" && pwd) 

if command -v 'cygpath' >/dev/null 2>&1; then 
    dir=$(cygpath -m $dir); 
fi 

dir=$(echo $dir | sed 's/ /\ /g') 
php "${dir}/composer.phar" $* 

Sau đó lưu tập tin bên trong thư mục bin của bạn và đặt tên là nhà soạn nhạc mà không cần bất kỳ phần mở rộng tập tin. Sau đó, thêm thư mục bin để biến môi trường của bạn f

0

Bạn có thể làm một cách đơn giản toàn cầu cài đặt để chạy nó từ bất cứ nơi nào

curl -sS https://getcomposer.org/installer | php 
mv composer.phar /usr/local/bin/composer 

Trang web https://getcomposer.org/doc/00-intro.md#globally khuyến cáo theo cách này. Làm việc tốt trên Ubuntu 14.04 không có vấn đề gì. Bằng cách này, bạn không cần phải làm ví dụ php compomser.phar show, bạn chỉ cần thực hiện composer show, trong bất kỳ thư mục nào bạn đang làm việc.

16

Làm thế nào để chạy Composer Từ Anywhere (trên hệ điều hành MacOS X) thông qua Terminal

Bối cảnh:

Trên thực tế trong trang web getComposer nó nêu rõ rằng, cài đặt Composer bằng cách sử dụng lệnh curl sau,

curl -sS https://getcomposer.org/installer |php 

Và nó chắc chắn làm những gì nó dự định làm. Và sau đó nó nói để di chuyển composer.phar vào thư mục /usr/local/bin/composer và sau đó nhà soạn nhạc sẽ có sẵn Toàn cầu, bằng cách sử dụng dòng lệnh sau trong thiết bị đầu cuối!

mv composer.phar /usr/local/bin/composer 

Câu hỏi:

Vì vậy, vấn đề mà dẫn tôi gửi tới Google theo nó là khi tôi thực hiện những dòng trên trong Mac OS X Terminal, nó nói rằng, Permission denied. Giống như như sau:

mv: rename composer.phar to /usr/local/bin/composer: Permission denied 

Trả lời:

Sau link dẫn tôi đến giải pháp giống như một nét duyên dáng và tôi rất biết ơn điều đó. Điều tôi vừa bỏ lỡ là lệnh sudo trước dòng lệnh "Di chuyển" đã nêu ở trên. Bây giờ lệnh Di chuyển của tôi như sau:

sudo mv composer.phar /usr/local/bin/composer 
Password: 

Trực tiếp nhắc bạn xác thực bản thân và xem bạn có được ủy quyền hay không. Vì vậy, nếu bạn nhập một mật khẩu hợp lệ, sau đó di chuyển sẽ được thực hiện, và bạn chỉ có thể kiểm tra nếu nhà soạn nhạc được cài đặt trên toàn cầu, bằng cách sử dụng dòng sau.

composer about 

Tôi hy vọng câu trả lời này giúp bạn mở rộng quan điểm của mình và cuối cùng giải quyết vấn đề.

Chúc mừng!

+1

> Và sau đó nó nói để di chuyển composer.phar vào thư mục/usr/local/bin/composer '/ usr/local/bin/composer' không phải là một thư mục; nó là tên mới cho tập tin sẽ được gọi là 'composer.phar' trước đó. – XedinUnknown

+1

Làm việc cho tôi trên macOS Sierra. – VSG24

+1

Cảm ơn vì mv –

13

Lần đầu tiên cài đặt nhà soạn nhạc như được đề cập trong nhà soạn nhạc installation documentation. Tôi vừa thêm vào đây để tham khảo.

curl -sS https://getcomposer.org/installer | php

và sau đó chuyển hồ sơ cho '/ usr/local/bin'.

sudo mv composer.phar /usr/local/bin/composer

Cố gắng chạy composer -V. Nếu bạn nhận được một đầu ra như Composer version theo sau là số phiên bản thì trình soạn nhạc được cài đặt thành công.

Nếu bạn nhận được bất kỳ đầu ra nào như composer: command not found nghĩa là sử dụng lệnh sau để tạo bí danh cho người soạn nhạc. Vì vậy, nó sẽ được thực hiện trên toàn cầu.

alias composer='/usr/local/bin/composer'

Bây giờ nếu bạn chạy composer -V nghĩa là bạn sẽ nhận được đầu ra như Composer Version tiếp theo là số phiên bản.

Hy vọng điều này sẽ giúp ai đó.

4

Đơn giản chỉ cần chạy lệnh này để cài đặt soạn nhạc trên toàn cầu

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer 
+0

Việc này giải quyết được vấn đề của tôi khi yêu cầu mật khẩu sudoer. Cảm ơn –

1

cho Mac và Linux sử dụng các thủ tục sau đây:

Thêm thư mục nơi composer.phar nằm để bạn PATH:

export PATH=$PATH:/yourdirectory 

và sau đó đổi tên composer.phar thành nhà soạn nhạc:

mv composer.phar composer 
3

Chỉ cần di chuyển nó đến /usr/local/bin thư mục và loại bỏ các phần mở rộng

sudo mv composer.phar /usr/local/bin/composer