`pnpm install` Usage Error: This project is configured to use yarn - yarnpkg

I am trying to migrate from yarn to pnpm. I ran pnpm install. It instantly failed and printed to the console:
Usage Error: This project is configured to use yarn
$ pnpm ...
I tried removing (renaming actually) yarn.lock and node_modules but to no avail. How to solve this?

I figured out that it's because of:
{
// ...
"packageManager": "yarn#..."
// ...
}
removing (or changing it to pnpm) would solve the issue. Additionally, yarn.lock existence doesn't have do with issue.

Related

graphql-codegen not running with config file

In my package.json file I've got script entry that runs graphql-codegen but it complains that the --config argument is invalid:
$> yarn gen
yarn run v1.21.1
$ graphql-codegen --config codegen.yml
Error: Unknown argument: config
...
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
Since I believe the default file name is codegen.yml anyway, I try to run it with out that argument and nothing gets generated:
$> yarn graphql-codegen
yarn run v1.21.1
$ /home/aaron/projects/my_app/node_modules/.bin/graphql-codegen
Done in 0.17s.
Any ideas?
for me this solved the issue
Yarn
yarn add -D #graphql-codegen/cli
npm
npm i -D #graphql-codegen/cli
installation guide doc
Ok, I'm not sure exactly what I did to fix this. I believe that I had also installed graphql-codegen globally and tried to uninstall it with sudo npm uninstall graphql-codegen which removed a bunch of packages but the executable still exists:
$>which graphql-codegen
/usr/bin/graphql-codegen
However I decided to run yarn graphql-codegen init on a whim to see if init was valid and because I couldn't remember if I hadn't tried that already. I got the set up questions like normal so I ctrl+C'ed and just ran yarn graphql-codegen and it worked! Then I ran yarn graphql-codegen --watch to test that it took options and that also worked.
If anyone gets this issue, I hope these tips help you.
Try it: rm -rf ./node_modules && npm install
rm http://manpages.ubuntu.com/manpages/trusty/man1/rm.1.html
remove files or directories
-f, --force ignore nonexistent files and arguments, never prompt
-r, -R, --recursive remove directories and their contents recursively
node_modules https://docs.npmjs.com/cli/v7/configuring-npm/folders
You can think of the node_modules folder like a cache
for the external modules that your project depends upon. When you npm
install them, they are downloaded from the web and copied into the
node_modules folder and nodejs is trained to look for them there when
you import them (without a specific path).
npm install https://docs.npmjs.com/cli/install/
This command installs a package and any packages that it depends on.
If the package has a package-lock, or an npm shrinkwrap file, or a
yarn lock file, the installation of dependencies will be driven by
that, respecting the following order of precedence:
npm-shrinkwrap.json
package-lock.json
yarn.lock
Might also be that you have apollo's graphql-codegen package installed, which also exposes a binary called graphql-codegen, which accepts args schema and output, but not config.
For me the solution was to install #graphql-codegen/cli.
graphql.config.yml
schema: http://localhost:8081/graphql
extensions:
codegen:
generates:
./schema.graphql:
- schema-ast
package.json
{
"codegen": "graphql codegen --config graphql.config.yml"
}
I've fixed the problem by using graphql-code-generator instead:
"scripts": {
"graphql:generate": "graphql-code-generator"
}

Why can't I run yarn start?

For a few days I have been getting these messages:
*> yarn run v1.21.1 $ react-scripts start
There might be a problem with the project dependency tree. It is
likely not a bug in Create React App, but something you need to fix
locally.
The react-scripts package provided by Create React App requires a
dependency:
"eslint": "^6.6.0"
Don't try to install it manually: your package manager does it
automatically. However, a different version of eslint was detected
higher up in the tree:
/home/sol/Repository/node_modules/eslint (version: 6.3.0)
Manually installing incompatible versions is known to cause
hard-to-debug issues.
If you would prefer to ignore this check, add
SKIP_PREFLIGHT_CHECK=true to an .env file in your project. That will
permanently disable this message but you might encounter other issues.
To fix the dependency tree, try following the steps below in the exact
order:
Delete package-lock.json (not package.json!) and/or yarn.lock in your project folder.
Delete node_modules in your project folder.
Remove "eslint" from dependencies and/or devDependencies in the package.json file in your project folder.
Run npm install or yarn, depending on the package manager you use.
In most cases, this should be enough to fix the problem. If this has
not helped, there are a few other things you can try:
If you used npm, install yarn (http://yarnpkg.com/) and repeat the above steps with it instead.
This may help because npm has known issues with package hoisting which may get resolved in future versions.
Check if /home/sol/Repository/node_modules/eslint is outside your project directory.
For example, you might have accidentally installed something in your home folder.
Try running npm ls eslint in your project folder.
This will tell you which other package (apart from the expected react-scripts) installed eslint.
If nothing else helps, add SKIP_PREFLIGHT_CHECK=true to an .env file
in your project. That would permanently disable this preflight check
in case you want to proceed anyway.
P.S. We know this message is long but please read the steps above :-)
We hope you find them helpful!
error Command failed with exit code 1. info Visit
https://yarnpkg.com/en/docs/cli/run for documentation about this
command.*
I tried everything above, but nothing helps and I'm really upset about this situation because I can't get my code to work.
Can someone help me with easy instructions because I don't have time anymore to try and find a solution to the problem.
I could not solve the problem:
There might be a problem with the project dependency tree.
It is likely not a bug in Create React App, but something you need to fix locally.
The react-scripts package provided by Create React App requires a dependency:
"eslint": "^6.6.0"
Don't try to install it manually: your package manager does it automatically.
However, a different version of eslint was detected higher up in the tree:
/Users/elvestrindade/node_modules/eslint (version: 6.2.2)

ESLint couldn't find the plugin "eslint-plugin-react"

I work in sublime-text 3 with the following project structure:
workdir
--root-project-dirictory
---- src
---- eslint.yml
--project.sublime-project
The problem is this: ESLint is looking for the eslint-plugin-react plugin in workdir and not in the root-project-dirictory.
As a result I get an error:
ESLint couldn't find the plugin "eslint-plugin-react".
(The package "eslint-plugin-react" was not found when loaded as a Node module from the directory "/.../workdir".)
...
The plugin "eslint-plugin-react" was referenced from the config file in "root-project-dirictory / .eslintrc.yml".
The problem is this: ESLint is looking for the eslint-plugin-react plugin in workdir and not in the root-project-dirictory.
If eslint-plugin-react is included in the root working directory then it should be installed in the root and you can then extend the sub config from the root.
Until now, I have not found a solution to this problem without changing the structure of the working directory.
As a solution, I use the following:
create an empty sublime-text project
add one by one folder to the project, such as "src", "app" ...
if files are needed in --root-project-dirictory, then add it, but I'm working on the application in separate sublime-text folders of the project
I faced the same issue and found the main reason and how to fix:
npx eslint . --fix
Oops! Something went wrong! :(
ESLint: 6.1.0.
ESLint couldn't find the plugin "eslint-plugin-import".
or this error
Error: Cannot find module 'eslint-config-airbnb'
To fix it run this:
$ rm -rf node_modules
$ npm install eslint --save
$ npm install eslint-config-airbnb-base --save
$ npm install eslint-plugin-markdown --save
$ npm install eslint-plugin-import --save
(install all other plugins)
$ npm i
$ npx eslint --version
(should be less than 7)
Now, it works:
npx eslint . --fix
Reason:
It seems if libs listed under dev reps, ESLint got updated automatically to 7.0 which is not ready yet. As you can see we had the same error before on version 6.
For me, the issue was that I was using eslint globally which does not have that plugin. I used the command npx eslint ... then it worked normally.
In my case I did find a .eslintrc.json file in the Project Parent folder. After deleting it everything went back to normal.

How do I install vuetify directly from github?

When I try with
npm install vuetifyjs/vuetify#v1.5.2
I get "Cannot find package".
UPDATE:
There is a packages folder under which there is a vuetify directory.
I tried npm installing that folder. Everything appeared to go well until I started the dev server.
Now in the console log I see:
[Vuetify] Multiple instances of Vue detected
Seems to be related to https://github.com/vuetifyjs/vuetify/issues/4068 but I cannot tell what the solution is at this point.
I had the same issue to use my own version of Vuetify, waiting for my pull request being accepted.
Here what I did:
I build the vuetify project with my fix.
yarn
yarn build
Then I took the content of 'packages/vuetify' and put it in a new git repository. I remove the .gitignore to be able to commit built files (/es5, /lib, /lib-temp, /dist)
Finally I add this git repository to my project to replace my vuetify version:
npm install git+https://gitlab.com/GITLABUSERNAME/REPOSITORYNAME.git
Looking at the package.json file, the package doesn't have a name property, which it would need to have for you to be able to install it from GitHub.
So the short answer is that you can't install vuetify directly from GitHub via npm.
However, you can install it directly from npm:
npm install vuetify#1.5.2
You can't install vuetify directly from GitHub but you can edit code in 1 component node_modules/vuetify/lib/components/VSlider/VSlider.js Then, you install patch-package and execute path package vuetify Delete node modules and execute yarn to create new node modules Last, yarn serve, you see your code is work
https://www.npmjs.com/package/patch-package

Yarn - remove package best practices

If you want to remove a package using Yarn should you:
run yarn remove [package]
or
delete it from package.json and run yarn install
Do both work the same? Will #2 update yarn.lock?
If you run yarn remove [package] it will remove the package from node_modules and also from the yarn.lock file.
If you manually delete from package.json and then run yarn install, the deleted package is not installed and the yarn.lock file is not updated.
When you remove with Yarn by running the first approach (#1).
yarn remove [package]
Both your entries from lockfile and package.json are removed. Look out for this message in the terminal.
$ yarn remove x2js
yarn remove v0.27.5
[1/2] Removing module x2js...
[2/2] Regenerating lockfile and installing missing dependencies...
success Uninstalled packages.
Done in 2.34s.
The new file won't have the package.
If you follow the second (#2) approach and delete it from package.json and run:
yarn install
There will we no effect on your lockfile.
So it is better to remove packages using the first approach (#1).
If you have deleted some package(s) directly from package.json and don't know what was there then your lockfile is not up to date.
I would suggest you delete the yarn.lock file . and then run yarn install. This way, you will get an updated yarn.lock file.
Automatic Deletion
yarn remove <package-name>
Manual Deletion
In case of manual removal of package from package.json ,
delete yarn.lock file and run yarn install
Best way to remove any package is
yarn remove "your package name"
Your package name should be same as your package.json file

Resources