-
-
Notifications
You must be signed in to change notification settings - Fork 156
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
npm-asset/gulp issue with pretty-hrtime dependency #75
Comments
The |
Same error on master after clearing vendor out again. Looking at the web of npm packages for gulp it looks like all of them are using ^ for specifying dependencies. |
When I corrected the |
Sorry, it's not a bug, because {
"require": {
"npm-asset/pretty-hrtime": "@dev"
}
} |
However, there is a bug with package versions added directly in the NPM Registry. Example: npm-asset/sequencify The Currently, these versions are added only if the plugin can not find the VCS repository of the package. I will also include these versions whether these versions are not present in the VCS repository. |
Thanks for looking into this. |
@einkoro Your dependency The plugin starts to reaching a too many limitation with Composer (performance, camelcase for package name, same package with different versions), I think more and more to make a version
@qiangxue, @cebe, @samdark, I know, I still come back with this proposal, but I think this is the most reliable solution on the long term. |
I think it is okay to add nodejs, npm and bower if it is desireable. But in general, the idea of having this plugin was to allow installation of bower packages without the need to install nodejs & co. It should still be possible to install simple bower packages without installing any nodejs stuff. For advanced usage and if nodejs is installed on the system anyway the plugin may rely on it to resolve and install dependencies. Imo it is okay to live with some limitations if we get integration of bower packages in composer without the need to deal with another package manager. For advanced usage you have to switch to nodejs anyway. |
The idea is not to install nodejs but copy the binaries if they are not installed. In this way, the main concept of the plugin is still there. The mechanism is identical to the installation of a dependency for your project. And it will be very difficult to have 2 modes (classic and advanced). Of course I have a preference for pure PHP, but it is more and more difficult to solve problems, especially as the PRs for Composer are unanswered for more than 6 months... So make changes for the package names, the But this approach allows users to install the asset dependencies, even if they have not |
I have no idea how nodejs works but if they link dynamically to dependent libraries, copying some binaries may not work on some systems. The main reason I do not install nodejs on my servers was (at least some time ago) that the dependencies did not match for my machine. |
Of course, each binary is for each system (linux, mac, windows, and 32bit or 64bit). You can find the list in https://nodejs.org/dist/latest. The plugin detects the system and it copies the good version. |
My point was about static vs. dynamic linking: http://en.wikipedia.org/wiki/Linker_%28computing%29#Dynamic_linking |
For windows, linux and mac, it's a static linking (one executable). And I have make tests for windows and Linux: it's OK. But for the mac, I don't know, because I don't have a mac... if anyone can verify (but it should work because it is a static linking). |
should work on most systems but is not 100% relyable. I am still for a fallback, if node is not installed, do it like it is done now. if node is present, use it. |
Do it in pure PHP (as currently) or download binaries of Because I thought use first the installed version of |
With beta4 installed globally I am not able to install the latest version of gulp. I tried deleting the vendor directory and encountered the same error.
The text was updated successfully, but these errors were encountered: