NPX create-react-app creating other folders - create-react-app

So whenever i use
npx create-react-app my-app
it generates outside the folder "my-app" a lot of others folders such as _locks, _npx, _cacache and a json file named anonymous-cli-metrics.
I tried changing the cache location, but I couldn't do it, I want to use the command without creating these files does anyone know how to solve it?

I've also had this same problem. You should install your nodejs on your c:/ directory. Uninstall nodejs and remove cache files and remove the PATH variable and reinstall it in your C:/ directory.
Another possible problem is with chocolatey, if you've installed along with nodejs you should remove that also and do a fresh install on your root directory
Or try setting yout npm cache to,
npm config set cache C:\cache

Related

Yarn lock file resource source changed from registry.yarnpkg.com to registry.npmjs.org

I recently npm installed a package into my Ruby on Rails application. The installation changed my yarn.lock file. Specifically, the "resolved" field for all my resources have changed from yarnpkg.com to npmjs.org.
From this:
d3-dsv#1:
version "..."
resolved "https://registry.yarnpkg.com/d3-dsv/-/d3-dsv-1.0.8.tgz#..."
integrity ...
To this:
"d3-dsv#1":
"integrity" "..."
"resolved" "https://registry.npmjs.org/d3-dsv/-/d3-dsv-1.1.1.tgz"
"version" "..."
Is there a problem with these changes in this yark.lock file? Should I have done some yarn alternate to npm installing?
You can fix this issue by re-running yarn again.
To accomplish this, follow the steps below.
Remove the registry.npmjs.org section in your yarn.lock file.
Run the yarn command again.
$ yarn
This should rewrite the yarn.lock to change the registry from npm to Yarn.
The steps above should rewrite the yarn.lock file, and change the registry and text from npm to Yarn.
If you are using only public packages in your application then this will not cause many problems. You can go about your business as it is.Although there might be some complications when you authenticate for any of them at any point.
If you are using any private repositories, you have to re-register your packages with yarn and add credentials to them.
The following steps will help you.
Setup a private repo on npmjs.org and add a scope and your package (Lets name it boo)
Create a new project locally and upload it to the npm registry (let's call it blimp)
So when they are updated it will be #boo/blimp
Add the package to your new applications package.json by installing yarn add #boo/blimp
Remove the node_modules (rm -rf node_modules)
Try yarn install if there is an error in the lock file try re-creating one as follows
sed -ie 's,registry.yarnpkg.com/#boo,registry.npmjs.org/#boo,' yarn.lock
7. If that omits an issue like Request failed or something in that alley, try following
yarn config set registry https://registry.npmjs.org
At this point, you have tried lots of options. If this is still an issue in your system then you might have to move to `npm` package management. Follow the [yarn][2] repository for more updates.
Similar issues
yarn.lock should not include base registry
Support protocol-relative registry
Support for registry URLs without trailing slash
I suspect this happened to me because I installed something with npm install instead of yarn. I recognized my mistake, npm uninstalled the package, then yarn added the package, but then every entry in yarn.lock was changed to use npmjs.org instead of yarnpkg.com.
I did not commit the changes to source control, and the problem disappeared after I...
Deleted package-lock.json
Reverted the change to package.json in source control (i.e. removed the new package)
Reverted all changes to yarn.lock in source control
yarn added the package again
I am unsure if using npm install followed by yarn add is really what triggered the problem. Can anyone confirm?

Stubborn reappearing of .bin files at project's node_modules

Every time I ran yarn or yarn install a yarn symlink file appears at node_modules/.bin which is waaaay older (0.27.5) than the current version installed globally (1.15.2). Thus, every time a need to run yarn which I always have to manually delete that symlink. Where does that file pop up from? How can I prevent it from happening?
So now I know. It is WebStorm IDE that creates .bin folder and adds it to PATH to facilitate use of executables installed in node_module in the built-in terminal. Like an equivalent of npx.

Yarn global install of private module

I am trying to install a module globally with yarn.
I typed the following command:
yarn global add react-native-rename
and then I find it in the yarn global directory, and I am able to call it directly since the directory is included in the path.
But if I try to do the same thing with the same cloned repository hosted on my gitlab:
yarn global add git+ssh://git#git.company.info:mobile/react-native-rename.git
the installation goes fine but the binary is not present into the folder.
yarn global list
shows the binaries as installed but I am unable to find it, neither looking for it using which react-native-rename.
Any idea?
Could you try adding this to your .bashrc or .zshrc?
export PATH="$(yarn global bin):$PATH"
Yarn Global docs
https://classic.yarnpkg.com/en/docs/cli/global/
FYI: Locations on my mac
Executable: /usr/local/bin
Location of downloaded code: ~/.config/yarn/global/node_modules
Could you check these two directories?

Can't run npm after installing

I've seen many similar posts on this here on SO but for some reason those solutions don't seem to work for me. Clearly I'm missing something.
I installed depcheck package globally by running npm install -g depcheck which ran fine without any errors.
If I go into the global directory for npm packages which is:
c:\Users\<Username>\AppData\Roaming\npm on my Windows 10 machine, I do see the depcheck.cmd file.
I also see the depcheck folder within c:\Users\<Username>\AppData\Roaming\npm\npm_modules folder.
I think this means I was able to install the depcheck package globally.
When I run npm config get prefix, I get c:\Users\<Username>\AppData\Roaming\npm which seems to be the correct path.
Why is it that when I run depcheck inside my project's root folder where the package.json is located, I get:
'depcheck' is not recognized as an internal or external command,
operable program or batch file
If I try another standard npm command inside my project's root folder, it works fine. For example, I ran npm -v and got the version number.
What am I doing wrong?
I also had this problem before. After searching on the web I found that reinstalling NPM with Administrator permissions worked for me, as the installer without Administrator permissions doesn't create/write to some specific files. I hope this will help for you.
Pascal.

Installing Bower globally using npm

I am trying to install Bower globally and it is installed in the directory of
C:\Users\{{user}}\AppData\Roaming\npm\node_modules\bower
I have added the system path of Path and NODE_PATH to that of above, however when running bower, it still cant find the modules.
the prefix of npm-config is:
C:\Users\{{user}}\AppData\Roaming\npm
however later within the the list it states it as
"C:\Program Files (x86)\nodejs" (overridden)
Ive run out of ideas of what it could be,
If you using npm, which looks like you are, then use the global flag (run as admin)
npm install -g bower
Sometimes another version or just a wrong path is referenced in the npm config file instead of the installed version.
This may cause node/npm to misplace global modules.
To check and fix:
In cmd line type: npm config list
You should get a list of configuration values, one of them is prefix.
Make sure the path in prefix is the same path (only without node.exe) as the actually installed node.exe path.
(this path is listed further down as node bin location)
If it's not, change it:
Either in the config file (in your user folder, named .npmrc)
Or, via cmd line: npm config set prefix "C:\Program Files\nodejs" (change path if needed)
Reinstall the module/package you tried to install, don't forget -g for global.