让composer在任何目录下都可用

4

我把composer.phar放在了/usr/bin目录下,然后创建了/usr/bin/composer文件,内容为php /usr/bin/composer.phar $@,但是当我尝试运行composer时,出现以下错误:

No command 'composer' found, did you mean:
 Command 'compose' from package 'mime-support' (main)
composer: command not found

有什么想法吗?

1
既然你把文件composer.phar放在了bin目录下,那么你需要运行的命令就是composer.phar,而不是composer。你可以在bashrc文件中创建一个别名,或者尝试将/usr/bin/composer.phar移动到/usr/bin/composer,这样就可以了。创建别名是最简单的方法:alias composer="composer.phar",完成了。 - Elias Van Ootegem
请注意,Linux FHS 建议将非包管理器可执行文件放置在 /usr/local/bin/ 而不是 /usr/bin/ - SOFe
1个回答

5

使用符号链接:

ln -s ~/composer.phar /usr/bin/composer
chmod +x ~/composer.phar

1
您还可以将文件从composer.phar重命名为composer,并添加x位以使其可执行。在/usr/bin中任何位置放置文件的问题是:只有root用户才能运行自我更新。 - Sven
或者在 .bashrc 中添加 export PATH=$PATH:$HOME/.local/bin,如果您没有 root 权限,则使用 ~/.local/bin 而不是 /usr/bin - SOFe

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