我正在尝试安装 npm 包“serialport”以在 Ubuntu 上使用 Node.js。
我有 Node.js 版本 4.3.1
当我尝试使用安装
sudo npm install serialport
Run Code Online (Sandbox Code Playgroud)
我收到以下错误;
/usr/local/bin/node: 1: /usr/local/bin/node: Syntax error: word unexpected (expecting ")")
Run Code Online (Sandbox Code Playgroud)
实际上我什至无法安装npm。我缺少依赖项;我在 Ubuntu 15 上。如何安装 npm?
当我尝试安装 NPM 时,出现以下错误:
Les paquets suivants contiennent des dépendances non satisfaites :
npm : Dépend: nodejs mais ne sera pas installé
Dépend: node-abbrev (>= 1.0.4) mais ne sera pas installé
Dépend: node-ansi (>= 0.3.0-2) mais ne sera pas installé
Dépend: node-ansi-color-table mais ne sera pas installé
Dépend: node-archy mais ne sera pas installé
Dépend: node-block-stream mais ne sera pas installé
Dépend: node-fstream (>= 0.1.22) mais ne sera pas installé
Dépend: node-fstream-ignore mais ne sera pas installé
Dépend: node-github-url-from-git mais ne sera pas installé
Dépend: node-glob (>= 3.1.21) mais ne sera pas installé
Dépend: node-graceful-fs (>= 2.0.0) mais ne sera pas installé
Dépend: node-inherits mais ne sera pas installé
Dépend: node-ini (>= 1.1.0) mais ne sera pas installé
Dépend: node-lockfile mais ne sera pas installé
Dépend: node-lru-cache (>= 2.3.0) mais ne sera pas installé
Dépend: node-minimatch (>= 0.2.11) mais ne sera pas installé
Dépend: node-mkdirp (>= 0.3.3) mais ne sera pas installé
Dépend: node-gyp (>= 0.10.9) mais ne sera pas installé
Dépend: node-nopt (>= 3.0.1) mais ne sera pas installé
Dépend: node-npmlog mais ne sera pas installé
Dépend: node-once mais ne sera pas installé
Dépend: node-osenv mais ne sera pas installé
Dépend: node-read mais ne sera pas installé
Dépend: node-read-package-json (>= 1.1.0) mais ne sera pas installé
Dépend: node-request (>= 2.25.0) mais ne sera pas installé
Dépend: node-retry mais ne sera pas installé
Dépend: node-rimraf (>= 2.2.2) mais ne sera pas installé
Dépend: node-semver (>= 2.1.0) mais ne sera pas installé
Dépend: node-sha mais ne sera pas installé
Dépend: node-slide mais ne sera pas installé
Dépend: node-tar (>= 0.1.18) mais ne sera pas installé
Dépend: node-underscore mais ne sera pas installé
Dépend: node-which mais ne sera pas installé
E: Impossible de corriger les problèmes, des paquets défectueux sont en mode « garder en l'état »
Run Code Online (Sandbox Code Playgroud)
它是法语,但基本上是说缺少一些依赖项。它没有检测到我安装了 nodejs。
但是当我尝试重新安装 Node 时,它告诉我我已经有了更好的版本。
我还注意到我在 /usr/local/bin 中有 node 和 npm,但我还有另一个文件夹 /node-v4.3.1-linux-armv6l/ ,其中包含一个带有 node 和 npm 的 /bin 但还有一些文件夹,如 /include , /lib ,/共享
小智 7
安装 npm:
sudo apt-get update
sudo apt-get install npm
Run Code Online (Sandbox Code Playgroud)
然后我很确定您应该在安装软件包时删除该 sudo:
npm install serialport
Run Code Online (Sandbox Code Playgroud)
以下是更多信息:https : //www.digitalocean.com/community/tutorials/how-to-use-npm-to-manage-node-js-packages-on-a-linux-server
我知道已经有一个明显的答案,但这对我没有帮助。
错误说javascript文件中有错误代码,所以我尝试用node执行这个javascript:
# nodejs /path_where_npm_is_linked/npm-cli.js
Run Code Online (Sandbox Code Playgroud)
这有效!所以我认为 npm 命令没有用正确的程序执行。也许问题是另一个与 nodejs 无关的可执行“节点”,或者是链接本身(npm 是指向 npm-cli.js 的链接)。甚至环境变量 NODE_PATH 也被配置为 nodejs。
所以我尝试制作自己的 npm 命令:
添加
alias npm='nodejs /opt/node-v6.11.1-linux-ppc64/bin/npm'
Run Code Online (Sandbox Code Playgroud)
到.bashrc(或其他终端配置文件,如果您在其他发行版下)或.bash_aliases(它们在用户主文件夹中)重新启动终端并瞧:D
编辑:即使进行了此修改,某些软件包也不会安装(例如 node-sass)。所以必须做一个符号链接ln -s path_to_nodejs(ex. /usr/bin/nodejs) /usr/bin/node
| 归档时间: |
|
| 查看次数: |
11048 次 |
| 最近记录: |