npm install -g aws-sdk yet aws-sdk not found - javascript

I've installed aws-sdk in an ubuntu 20.04 container as follows:
sudo npm install -g aws-sdk
The, when running a script that requires the package, I get:
Error: Cannot find module 'aws-sdk'
Why can't it find my package? What am I doing wrong? Installing with -g but without sudo fails with permission errors.
Any help or hints welcome.

You have to link the global module to your project by executing:-
npm link aws-sdk
in your project's root directory provided you have aws-sdk globally installed.
npm link <package-name> will create a symbolic link from globally-installed package-name to node_modules/ of the current folder.
Source: https://docs.npmjs.com/cli/v7/commands/npm-link

Related

Cannot install Vue Cli on Mac Catalina [duplicate]

While installing the dependencies of vue-cli, vue is not identified. Why?
rm -rf node_modules and npm install again
have a look here
Add sudo before yarn when installing
yarn global remove #vue/cli
sudo yarn global add #vue/cli
vue
I had the same issue for a while.
TL;DR
npm install #vue/cli-service --save-dev
As the documentation specify it is a development dependency https://cli.vuejs.org/guide/#cli-service
The CLI Service (#vue/cli-service) is a development dependency. It's an npm package installed locally into every project created by #vue/cli.
Origin
I had a fresh install of nodejs
And just did
>> sudo npm install -g #vue/cli#latest
>> vue --version
#vue/cli 4.5.8
The issue
The issue presented like this
>> npm run serve
yarn run v1.22.10
$ vue-cli-service build --mode development --watch
/bin/sh: 1: vue-cli-service: not found
error Command failed with exit code 127.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
The fixes:
npm install #vue/cli-service --save-dev
Which led me straight to another error message
>> npm run serve
yarn run v1.22.10
$ vue-cli-service build --mode development --watch
ERROR Error: Cannot find module 'vue-template-compiler/package.json'
Which I fixed the same way
npm i vue-template-compiler --save-dev
And now it is working fine.
Installing current version without permanently installing vue-cli.
npx #vue/cli create appname
It shows the vue executable is located at /home/alisha/.local/bin. So probably this location is not there in your $PATH.
You should be able to run the vue commands if you provide the full path, like:
~/.local/bin/vue create hello-world
You can also see if that directory is in your PATH by running some command like:
echo $PATH | grep '.local/bin/'
If it's there, you would see it, otherwise you can add it to your path by placing it in your ~/.profile.
Edit ~/.profile and add the following at the bottom of it.
PATH="$HOME/.local/bin:$PATH"
Hope it helps!!
I had the same issue while making a build for production.
You will require vue-cli to be installed. Use below command to install the latest version.
npm install -g #vue/cli#latest
Then
npm install
Might have to do with you having an old version on your computer:
Warning regarding Previous Versions
The package name changed from vue-cli to #vue/cli. If you have the previous vue-cli (1.x or 2.x) package installed globally, you need to uninstall it first with
npm uninstall vue-cli -g or yarn global remove vue-cli.
You can find it here: https://cli.vuejs.org/guide/installation.html
THIS FIXED THE ISSUE FOR ME:
After running
sudo npm install -g #vue/cli
I ran
sudo nano $HOME/.profile
and pasted the following line
export PATH=$PATH:/home/chike/.npm-global/bin
after writing the code, next thing I did was Ctrl + O, ENTER and Ctrl + X then wrote
vue init webpack myapp
When you install vue using cli that time you got the path of vue.Now you can copy the bin folder path.
In my example /home/sublime/.npm-packages/bin
Now you export the path below command
export PATH=$PATH:/home/sublime/.npm-packages/bin
I solved mine by running (add sudo if needed)
npm i -g vue-cli#2.9.6
npm i -g #vue/cli
Got similar issue when deploy vue project in jenkins.
Here is what I did:
Add node's bin/ dir, to jenkins user's .bashrc file.
e.g
# node
NODE_HOME=/home/dev/.nvm/versions/node/default
PATH=$NODE_HOME/bin:$PATH
Tips - about nvm & yarn
When you manage node version via nvm, make sure you already choose the node version in terminal. e.g:
nvm use stable
node -v
If you use nvm, and installed yarn via npm, then better install vue-cli via npm not yarn, otherwise the vue executable is not placed into node's bin/ dir, at least that's the case in my tests, and as a result will cause you fail to find the vue command.
Using Yarn on Ubuntu it is installed to ~/.npm-packages/bin/. You must add this directory to your PATH. For example run the following command, close your terminal and open a new one.
user#machine:~$ echo 'export PATH="$PATH:~/.npm-packages/bin/"' >> ~/.bashrc
Note: if the file ~/.bashrc does not exist then simply create it.
Following worked for me:
First remove all the existing ones:
yarn global remove #vue/cli
yarn global remove #vue/cli-service
sudo yarn global remove #vue/cli
sudo yarn global remove #vue/cli-service
Then add #vue/cli using sudo:
Note: use sudo if required
yarn global add #vue/cli
yarn global add #vue/cli-service
Then, the final thing to do is to RESTART the terminal.
vue --version
#vue/cli 4.5.9
If you already got a project, the only two things you need to do is:
Delete the directory node_modules (it is safe, since it is not under git and will regenerate in the next step)
In the command-line write yarn install (it will install everything you need)
If you start installing vue-cli manually in a existing project, it the package.json and package-lock.json will be updated. If you already did. Do a checkout from git, and follow my steps above
This may be a problem caused by version conflicts. "export PATH=$PATH:" This is really useful in some cases. But if you are also like me, after trying the direct “export path” method in the comment above, restarting the terminal still can not execute the situation, you can try this way.
Uninstall Vue
npm uninstall -g #vue/cli
Check the local-global npm package installation path, vue is installed in this directory, check if it has been removed.
npm root -g
Install vue (you can check with https://cli.vuejs.org/#getting-started to find the latest command)
npm install -g #vue/cli
Create a connection to the /usr/local/bin directory(You need to find the vue.js path after the local installation first, then replace this path with your latest local install path:/Users/xxxxx/.npm-global/lib/node_modules/#vue/cli/bin/vue.js)
ln -s /Users/xxxxx/.npm-global/lib/node_modules/#vue/cli/bin/vue.js /usr/local/bin/vue
View version number
vue -v
I was getting the same error because Node.js was not installed. My issue got resolved by installing Node.js using the following command:
sudo apt install nodejs-legacy
To see if you already have Node.js and npm installed and check the installed version, run the following commands:
node -v
npm -v
If both are installed then follow the steps here:
https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally
I installed the package using yarn global add #vue/cli on my Ubuntu box and found the binary in /home/vonkad/.yarn/bin.
I had to modify my /home/vonkad/.bashrc and add the directory to the path export PATH=$PATH:/home/vonkad/.yarn/bin.
To fix this situation, I had to add the following line to my .zshrc (maybe in your case is .bashrc)
export PATH="$(yarn global bin):$PATH"
Effectively, the yarn global bin is a folder where vue (vue-cli 3) was placed.
What helped me
mac os catalina with zsh terminal
Uninstalled node and npm using https://www.positronx.io/how-to-uninstall-node-js-and-npm-from-macos/
Downloaded node/npm from https://nodejs.org/en/download/current/
sudo npm install -g #vue/cli
vue --version (#vue/cli 4.5.4)
I faced the same issue and now resolved. In my case I installed Node.js and NPM using the default Ubuntu repository by using this command sudo apt-get install nodejs npm
The problems seemed like those 2 packages are not well maintained so it caused some bugs.
So I purge those packages and reinstall it from nodesource which is officially recommended way to install (reference: Installation instruction from nodesource) using these commands.
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodejs
Then reinstall #vue/cli again
sudo npm install -g #vue/cli
Now these issues have gone. Hope it helps some programmers.
You need to install vue via sudo like explained in the doc:
https://cli.vuejs.org/guide/installation.html
If you have WSL2 running and you use zsh like me, just add
yarn global add #vue/cli
# add this line to ~/.zshrc
export PATH="$HOME/.yarn/bin:$PATH"
$ vue --version
#vue/cli 4.x.xx
You can try the following code install see
npm install --global vue-cli
vue init webpack <YOUR-PROJECT-NAME-HERE>
cd <YOUR-PROJECT-NAME-HERE>
npm install
npm run dev

npm ERR! could not detect node name from path or package

today i was trying to install my package in visual studio. But there is an error:
enter image description here
npm i
npm ERR! could not detect node name from path or package
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\holan\AppData\Local\npm-cache_logs\2021-09-01T00_08_12_922Z-debug.log
I reinstall node.js and python
here is my path
enter image description here
sorry for my bad english but i need help
As OP didn't provide details of the issue and seems to be new to nodejs, hereby explaining how npm i work in general matter.
There are main usage of npm i:
To install a package that haven't install in this project(or global) before, you can put that package name after the npm i , such as npm i express. Once the installation is done, it will insert the package name into package.json and the package source code in node_modules. You can think package.json is like a index and node_modules is the actual packages source code.
To install a package that listed in package.json. If you are copying/clone the project from other source , usually it has package.json but not the node_modules. In that case, you can use npm i to install all the packages that listed in package.json and it will then create the node_modules.
Using npm i without package.json will not install anything as there isn't a package name in the npm i [package name] and package.json .

"npm install" not installing any library. How to resolve this issue?

I am using Node version 14.15.5 and npm version 6.14.11. Also, I am working on VS Code.
I have tried to install two packages by these commands:
npm install express
npm install lodash
In the end, I am not getting any of them successfully.
I received this message:
36 packages are looking for funding
run `npm fund` for details.
How to resolve this issue?
enter image description here
The reason is described here:
Before installing a package into the local folder, NPM tries to find the root of your package. To do this it walks from your current directory (C:\Users\JD Mughal\Desktop\Web\Node\test-calculator) up the hierarchy until it finds a package.json file.
Only if no package.json file is found will NPM install the new package in the current directory (respectively in a node_modules\package_name subdirectory).
In your case however NPM finds a package.json file C:\Users\JD Mughal\package.json and installs the new package there.
To resolve the use you must execute npm init in your local directory.

Why can't find package required on the "npm" registry

I have problems running my web app using this tutorial video React Native Web Full App Tutorial - Build a Workout App for iOS, Android, and Web
in react-native. I've been searching a lot for an answer but there is no accurate one yet that solves my issue.
I downloaded the app from here: git repo.
Try to use:
$ yarn
$ yarn install
$ npm install
$ npm config set #icons:registry https://registry.npmjs.org/
$ rm -rf node_modules
$ npm i https://github.com/Qix-/node-error-ex
$ curl 'https://registry.yarnpkg.com/#types/node/-/node-9.4.2.tgz'
but nothing seems to work, I keep getting this error.
error Couldn't find package "#wow/common#1.0.0" required by "#wow/app#0.0.1" on the "npm" registry.
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
Error: Couldn't find package "#wow/common#1.0.0" required by "react-native-web-workout-series#0.1.0" on the "npm" registry.
at MessageError.ExtendableBuiltin (/usr/local/Cellar/yarn/1.22.4/libexec/lib/cli.js:721:66)
at new MessageError (/usr/local/Cellar/yarn/1.22.4/libexec/lib/cli.js:750:123)
at PackageRequest.<anonymous> (/usr/local/Cellar/yarn/1.22.4/libexec/lib/cli.js:36539:17)
at Generator.throw (<anonymous>)
at step (/usr/local/Cellar/yarn/1.22.4/libexec/lib/cli.js:310:30)
at /usr/local/Cellar/yarn/1.22.4/libexec/lib/cli.js:323:13
at processTicksAndRejections (internal/process/task_queues.js:97:5)
Or any steps I need to follow to run this app. Since I want to download the app and edit the body content.
I tried to download and test it myself and it worked normally.
Clone it again and follow these steps:
#After cloning enter the folder
cd react-native-web-series
#install all dependencies
yarn install
#Navigate to the web folder
cd packages/web
#start the app
yarn start
Ps. : If a project is using yarn is not a good ideia to run npm commands, do not mix those two
In my case, the reason was the .npmrc file.
You can rename this file
mv ~/.npmrc ~/.npmrc2
npx create-react-app my-app
and rename it back after the installation.
mv ~/.npmrc2 ~/.npmrc
I ran into the same problem here.
And just as #Dmitry Grinko mentioned, it is related to .npmrc file.
I used private npm registry before so that some of package is missing.
Using following registry will pass the problem.
registry=https://registry.npmjs.org/
use npm login in terminal to login into your npm registry.
More information available here:
https://github.com/yarnpkg/yarn/issues/6029
npm install -g npm#latest
npm config set registry https://registry.npmjs.org/
If you're using nvm
nvm install 14.18.0
nvm use 14.18.0
nvm alias default 14.18.0
after look on the git repo - i think that maybe you should try to run npm i (or other commands - im not from react native area) in any package(app,common,web) to itself - like I saw any one of them has package.json of his own

where would npm install the modules in Macbook file system?

I just installed module underscore js using npm install underscore. I want to know how and where NPM would store that module so I can import that module in my .js file.
Using npm install without the -g flag will install the modules in the current directory under node_modules
Using npm install -g, it would install at following address on computer(MAC)
/usr/local/lib/node_modules/

Categories

Resources