-
Notifications
You must be signed in to change notification settings - Fork 89
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Permission issue when running pickle install #123
Comments
I sadly do not have OSX to reproduce it. But how does it work? One can create tmp dir or files but cannot remove it? Sounds weird if that's the case |
This happens to me as well when running Pickle inside a Linux VM hosted on OS X. |
Admittedly, none of those try to create a
it would try with:
? Or at least in |
Ok, so this is the problem:
Example:
Will try to create a folder like this one: Optimistically, I thought this:
would then use the current folder's vendor folder but then I discovered the above listed points, when I got the error To sum up: Composer will turn any path "absolute" by simply slapping a forward slash onto it, unless the Proposed solution:When passing a new Running a Homestead Improved instance on OS X Sidenote: @DominikTo suggested this might have something to do with the rootless security on OS X. This does not seem possible, because I originally tried Pickle in a folder inside the VM which is not shared - so in a location only accessible to the OS of the VM, not the host. It produced the same error. Edit: found out on Twitter that I need to be superuser when running Pickle. Maybe put that in the readme? I still don't think using the root folder of a machine as a tmp dir is a good idea, even if it does get deleted immediately afterwards, but running as root does indeed help avoid all of the above. |
Agree with @Swader. I'll try to run a debug session during the Forum ;) |
Pickle now uses its own sandbox to download extensions' sources Closes #123
@DominikTo Hi :-), nice to see you here by the way. Could you try the patch pushed by @jubianchi please? It should fix your issue. |
Hi @Hywan! :) I checked out the master branch of pickle, but I am still running in a (slightly different) permission issue on OS X 10.11.
|
Works better with
|
@DominikTo this is a different issue and cannot be solved as it is not a bug per se. PHP has an extension directory, defined by extension_dir setting. Unless you define another one, for example your vendor directory and gives it the right permissions, pickle (or phpize, make, make install) will use it. @Swader @Spomky good catch. Makes totally sense now. I think we should use a temp directory for all the things when not used with a standard composer projects. The extension will still be installed in the php extension_dir but all the download/builds should definitively not be done in /vendor. About the regex pattern, this is also another issue. Some extensions do not follow semver. It looks like we will not support them and requests extensions developers to follow semver for the next version. If we do accept bad versions, then it will mean to duplicate all the versions management withing pickle instead of fully relying on composer, which will create a lot of confusions for everyone adding deps in composer.json for their projects. Suggestions welcome if you have thought about it :) |
I also have the same issue with installation to /usr/lib/php/extensions/no-debug-non-zts-20121212/
and you can't change that because php-config is also write protected |
If anyone can figure out how to work around these permissions, let me know. Given that brew and co do install them, there must be a way :) |
When running e.g.
pickle install gearman
, the installation fails with a permission issue.Manually creating
/vendor/
(and settingchown -R myuser:staff /vendor/
) gets rid of that issue, but then pickle fails with:Notes
composer global require friendsofphp/pickle
.The text was updated successfully, but these errors were encountered: