问题
在树莓派上安装了nodejs,并成功的将node添加到软链中,可是当我们按照同样方法添加npm时,提示找不到这个文件或文件夹。
解决方案
正确的添加npm软链方法是:
命令行
sudo ln -s /home/pi/node/lib/node_modules/npm/bin/npm /usr/local/bin/npm
但是这样还是不行,会报错(2021-06-09树莓派4B8G),如下:
$ npm -v
module.js:471
throw err;
^
Error: Cannot find module '/usr/local/bin/node_modules/npm/bin/npm-cli.js'
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.runMain (module.js:604:10)
at run (bootstrap_node.js:389:7)
at startup (bootstrap_node.js:149:9)
at bootstrap_node.js:504:3
这时候需要我们打开这个npm文件,把里面的路径修改为绝对路径:
命令行
sudo nano /usr/local/bin/npm
找到里面的NODE_EXE=" b a s e d i r / n o d e . e x e " 和 N P M C L I J S = " basedir/node.exe" 和 NPM_CLI_JS=" basedir/node.exe"和NPMCLIJS="basedir/lib/node_modules/npm/bin/npm-cli.js
修改为绝对路径:NODE_EXE="/home/pi/node/node.exe"
NPM_CLI_JS="/home/pi/node/lib/node_modules/npm/bin/npm-cli.js
那么你以为这样就完了?
在最新上手的这个板子中,发现这里多了一行
if ! [ -x "$NODE_EXE" ]; then
NODE_EXE="$basedir/node"
fi
必须删掉,别问为什么。
保存退出,再试一下。
npm -v