树莓派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”命令,很遗憾,树莓派会告诉你出错了,具体信息如下:

    

        他说找不到这个文件,意于是,我们输入命令"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" "$@"


### 回答1: 《ARM架构参考手册armv7-a和armv7-r版.pdf》是一本关于ARM架构的参考手册。ARM架构是一种广泛应用于嵌入式系统和移动设备的处理器架构。该手册分为armv7-a版和armv7-r版两个版本。 armv7-a版是面向应用处理器的版本,主要用于移动设备、平板电脑、智能电视等设备。它提供了丰富的功能和指令集,支持多核处理和高性能计算,能够满足复杂应用的需求。该手册详细介绍了armv7-a架构的特点、寄存器、指令集以及内存管理等内容,为开发者提供了系统级的技术支持armv7-r版则是专门为实时应用处理器设计的版本,主要用于汽车电子、工业自动化、医疗设备等领域。相比于armv7-a版,它更注重实时性和可靠性,提供了面向实时应用的特殊指令集和硬件特性。该手册详细介绍了armv7-r架构的特点、寄存器、指令集以及实时性相关的特性,为开发者提供了针对实时应用的技术指导。 总之,该手册是ARM架构的权威参考资料,旨在帮助开发者理解和应用armv7-a和armv7-r架构,以提升系统性能和实时性。无论是开发应用还是实时系统,对ARM架构感兴趣的开发者都可以从该手册中获得详细的技术指导。 ### 回答2: 《ARM架构参考手册ARMv7-A和ARMv7-R Edition.pdf》是一本关于ARM架构的参考手册。ARM架构是一种广泛应用于嵌入式系统和移动设备的处理器架构。 这本手册旨在提供有关ARMv7-A和ARMv7-R两个版本的详细信息。ARMv7-A是应用程序处理器的主要版本,而ARMv7-R是实时处理器版本。手册介绍了这两个版本的架构特性、指令集、寄存器和系统级特性。 手册的内容包括了ARMv7-A和ARMv7-R的各个模块的详细说明,如处理器核心、系统控制和调试接口等。此外,手册还讨论了架构的安全特性,包括访问权限和异常处理。 ARM架构的特点之一是其指令集的精简性和高效性,手册深入介绍了各种指令的功能和使用方法,以及指令的执行过程和相关的寄存器操作。 另外,手册还提供了有关如何开发软件和编写代码以实现ARMv7-A和ARMv7-R架构的最佳实践指南。这些指南涵盖了编程规范、编译器优化和调试技术等方面的建议,帮助开发人员更好地利用ARM架构的性能和功能。 总之,《ARM架构参考手册ARMv7-A和ARMv7-R Edition.pdf》是一本权威的参考资料,提供了关于ARMv7-A和ARMv7-R架构的详细信息,对于开发者和研究人员来说是一本宝贵的资源。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值