-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
$PATH-Issues since Version 1.7 #5874
Comments
|
Also includes: - Update for Yarn 1.7.0 for v10 image - Curl usage improvements - Switch to jessie-slim for the slim variant
This is also causing problems for us with Python, rather than PHP. Basically the Python virtualenv doesn't work anymore -- Python scripts we've written that are executed with yarn can no longer import the right packages since its (presumably) using a different Python installation than it used to. FWIW this seems to affect our Linux (Ubuntu) systems but not our MacOS systems; both use virtualenv. |
Also appears to affect Clojurescript builds on Linux https://clojureverse.org/t/shadow-cljs-dependency-update-failed-failed-to-collect-dependencies-at-thhellerjar-2-2-26/2179 |
Affects us too - I have need to run a generation step to create typescript type definitions for a C++ server message api, and the change to yarn path has put /usr/bin before my existing path. This means that it does not pick up the newer cmake version installed in /opt/cmake/bin, with no way to override yarn without breaking the build for other developers. I cannot remove the package manager's version of cmake without losing several other packages I need with it. Yarn should NOT be prepending /usr/bin to the existing path definitions. Ever.
Looking at the list of commits between the 1.6.0 and 1.7.0 tags, I believe that this pull request to add the directory containing node to the PATH is the likely cause of this issue. @arcanis Can you please have a look into this, as it makes 1.7.0 unusable for anyone that has a custom script that depends on being able to set their own environment paths. Overriding people's environment is a very bad and unexpected thing to be doing. It'd be better to teach the few with multiple node installations how to set their own environment path or how to set an alias for which node to run properly instead of breaking the path for everyone else (I cannot see the need for the pull request above if people had a single version of node installed). |
Need a fix please! For those who want to downgrade until a fix comes:
|
This also causes global versions of npm packages installed in |
Supposedly coming in |
Removes path manipulation workaround. Please see yarnpkg/yarn#5874
Since version 1.7 the wrong PHP version is used for my "postinstall" script. This is because Yarn modifies the
$PATH
variable.My
$PATH
variable specifies a specific PHP version. It looks like this:The directory "/usr/bin/php5.6" will be prioritized before "/usr/bin", because another PHP version can be found there.
Yarn inserts several directories before my
$PATH
variable. For example, the directory "/usr/bin", which is now prioritized before "/usr/bin/php5.6".Yarn should use a suffix and not a prefix to avoid such problems.
The text was updated successfully, but these errors were encountered: