树莓派3(armv7)下配置node.js

   最近打算把树莓派加亚马逊Alexa做一个智能音箱,参考链接:https://amazonaws-china.com/cn/blogs/china/raspberry-alexa/

    但是在树莓派3上配置node.js上遇到了很多坑,网上查阅资料树莓派上配置node.js的教材都很旧,而且大部分都解决不了问题,最后通过自己的努力,终于成功装上。

    

    于是写博客分享一下我的经验。

    1、到“https://nodejs.org/dist/latest-v10.x/”下载node-v10.3.0-linux-armv7l.tar.gz

    2、使用ftp将文件复制到/home/pi/目录下

    3、输入解压命令“tar -xzvf node-v10.3.0-linux-armv7l.tar.gz”到/home/pi/目录下

    4、输入命令在/usr/local/bin/下建立链接使得在树莓派下任何位置都能使用node命令

        “sudo ln /home/pi/node-v10.3.0-linux-armv7l/bin/node /usr/local/bin/node”

    5、输入命令在/usr/local/bin/下建立链接使得在树莓派下任何位置都能使用npm命令

        “sudo ln -s /home/pi/node-v10.3.0-linux-armv7l/lib/node_modules/npm/bin/npm /usr/local/bin/npm”

    6、但是!如果这是输入“npm-v”命令,很遗憾,树莓派会告诉你出错了,具体信息如下:

    树莓派3(armv7)下配置node.js_第1张图片

        他说找不到这个文件,意于是,我们输入命令"sudo su"进入到root账户,并输入命令“cd /usr/local/bin”进入到bin文件夹后,输入"ls"命令我们会看到有两个文件,一个是node,另一个则是npm,

        接下来,我们输入"vi npm"打开npm进行编辑修改为对应的红色字体处。(!!!注意armv7l中的l是英文字母“l”不是阿拉伯数字“1”)

        进入后,为命令模式:h为左移动,j为下移动,k为上移动,l为右移动,x为删除当前光标所在字符,i为在当前光标位置进入编辑模式。

        进入编辑模式后,修改路径后,按ESC返回命令模式,输入:wq后按回车保存并退出。这是我们输入npm -v就是已经可以在全局范围下使用了~

修改后的具体内容为:

#!/bin/sh

(set -o igncr) 2>/dev/null && set -o igncr; # cygwin encoding fix

basedir=`dirname "$0"`

case `uname` in
    *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
esac

NODE_EXE=" /home/pi/node-v10.3.0-linux-armv7l/node.exe"
if ! [ -x "$NODE_EXE" ]; then
  NODE_EXE=node
fi


NPM_CLI_JS=" /home/pi/node-v10.3.0-linux-armv7l/lib/node_modules/npm/bin/npm-cli.js"


case `uname` in
  *MINGW*)
    NPM_PREFIX=`"$NODE_EXE" "$NPM_CLI_JS" prefix -g`
    NPM_PREFIX_NPM_CLI_JS="$NPM_PREFIX/node_modules/npm/bin/npm-cli.js"
    if [ -f "$NPM_PREFIX_NPM_CLI_JS" ]; then
      NPM_CLI_JS="$NPM_PREFIX_NPM_CLI_JS"
    fi
    ;;
  *CYGWIN*)
    NPM_PREFIX=`"$NODE_EXE" "$NPM_CLI_JS" prefix -g`
    NPM_PREFIX_NPM_CLI_JS="$NPM_PREFIX/node_modules/npm/bin/npm-cli.js"
    if [ -f "$NPM_PREFIX_NPM_CLI_JS" ]; then
      NPM_CLI_JS="$NPM_PREFIX_NPM_CLI_JS"
    fi
    ;;
esac


"$NODE_EXE" "$NPM_CLI_JS" "$@"


你可能感兴趣的:(树莓派3(armv7)下配置node.js)