Comments (4)
What about adding an isolated-bins option, which would disable passing the COMPOSER_BIN_DIR variable? Then you could run ./vendor-bin/laravel/bin/phpunit and ./vendor-bin/symfony/bin/phpunit.
Looks like a good compromise. Less elegant but I don't see a better solution to solve this problem.
from composer-bin-plugin.
Given how this plugin works (it's just a simple wrapper), that'd be very tricky to implement.
Nonetheless I think that this could be a feature request to ask for in composer, it can be useful outside of the scope of this plugin. Maybe a config for a bin-pattern
(with its associated COMPOSER_BIN_PATTERN
env) would be more flexible than a prefix, for instance if people use different composer projects linked to the same bin-dir which is in their $PATH, they could install different versions of a given tool easily (prefix-{name}
or {name}-5
for the version as a suffix).
from composer-bin-plugin.
AFAIK integrating such things to Composer itself is out of question (Jordi
was quite against it and I don't feel like pressuring him to do so is right
either, he already expressed his view on it and I would rather respect it
than constantly re-questioning it).
Isn't the symlink done in this plugin? I don't mind taking a look at it but
I may need you to point me out a thing or two :)
On Wednesday, 7 September 2016, Bilal Amarni [email protected]
wrote:
Given how this plugin works (it's just a simple wrapper), that'd be very
tricky to implement.Nonetheless I think that this could be a feature request to ask for in
composer, it can be useful outside of the scope of this plugin. Maybe a
config for a bin-pattern (with its associated COMPOSER_BIN_PATTERN env)
would be more flexible than a prefix, for instance if people use different
composer projects linked to the same bin-dir which is in their $PATH, they
could install different versions of a given tool easily (prefix-{name} or
{name}-5 for the version as a suffix).—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
#6 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AE76gYN52WNwQbjxQ9n2zonuDGVUcFfRks5qnv7igaJpZM4J2CAX
.
from composer-bin-plugin.
Well, the symlink is not made from here at all. The plugin just acts as a helper :
composer bin namespace require vendor/package
Will basically run behind the scene something like :
mkdir -p vendor-bin/namespace
cd vendor-bin/namespace
COMPOSER_BIN_DIR=/bin/dir/from/main/project require vendor/package
cd ../../
And the all
namespace will loop through all directories in vendor-bin instead and run the command in each of them. So symlinks are made by Composer.
What about adding an isolated-bins
option, which would disable passing the COMPOSER_BIN_DIR
variable? Then you could run ./vendor-bin/laravel/bin/phpunit
and ./vendor-bin/symfony/bin/phpunit
.
from composer-bin-plugin.
Related Issues (20)
- Call to undefined method when updating to 1.7.0 HOT 2
- Plugin fails to work with Composer < 2.3
- Call to undefined method during (and only during) the update from 1.5.0 to 1.7.0 HOT 2
- Plugin (still) fails to work with Composer < 2.3 HOT 1
- Compatibility with `Composer\InstalledVersions` API HOT 4
- Can outdated command be forwarded as well? HOT 5
- Inherit from github-oauth main composer.json HOT 2
- Create autoloader that include all package namespaces HOT 2
- Reuse existing packages via symlink HOT 2
- Detect installation via this plugin HOT 10
- Warning appears if multiple namespaces contain the same custom Composer script name HOT 2
- `composer update --lock` invokes `composer update` HOT 2
- Composer plugin support in namespaces? HOT 6
- Composer cache dir seems not be respected HOT 3
- No-Dev installation fails when defined as dev dependency HOT 2
- Dev-Dependencies installed when using --no-dev option HOT 1
- Doesn't work with ergebnis/composer-normalize HOT 6
- Drop support for PHP 5.x HOT 1
- Forward command not executed on first install
- Error with composer when using this plugin and it's allowed in `composer.json` HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from composer-bin-plugin.