使用最新的 nodejs 1.10.15 安装 yeoman
Posted
技术标签:
【中文标题】使用最新的 nodejs 1.10.15 安装 yeoman【英文标题】:Install yeoman with latest nodejs 1.10.15 【发布时间】:2014-01-29 06:25:06 【问题描述】:将我的系统从 Ubuntu 13.04 迁移到 13.10,我已经安装了 Ubuntu Logiteque 提供的最新 nodejs 包(这是自动包安装程序的法文名称,不知道英文是否相同......)。
尝试使用以下命令安装 yeoman:
npm install -g yo
给我以下错误:
npm http 200 https://registry.npmjs.org/is/-/is-0.2.7.tgz
/usr/local/bin/yo -> /usr/local/lib/node_modules/yo/cli.js
> yo@1.1.2 postinstall /usr/local/lib/node_modules/yo
> node ./scripts/doctor
sh: 1: node: not found
npm WARN This failure might be due to the use of legacy binary "node"
npm WARN For further explanations, please read
/usr/share/doc/nodejs/README.Debian
npm ERR! yo@1.1.2 postinstall: `node ./scripts/doctor`
npm ERR! `sh "-c" "node ./scripts/doctor"` failed with 127
npm ERR!
npm ERR! Failed at the yo@1.1.2 postinstall script.
npm ERR! This is most likely a problem with the yo package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node ./scripts/doctor
npm ERR! You can get their info via:
npm ERR! npm owner ls yo
npm ERR! There is likely additional logging output above.
npm ERR! System Linux 3.11.0-15-generic
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install" "-g" "yo"
npm ERR! cwd /var/www
npm ERR! node -v v0.10.15
npm ERR! npm -v 1.2.18
npm ERR! code ELIFECYCLE
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /var/www/npm-debug.log
npm ERR! not ok code 0
查看 /usr/share/doc/nodejs/README.Debian :
The upstream name for the Node.js interpreter command is "node".
In Debian the interpreter command has been changed to "nodejs".
This was done to prevent a namespace collision: other commands use
the same name in their upstreams, such as ax25-node from the "node"
package.
Scripts calling Node.js as a shell command must be changed to instead
use the "nodejs" command.
所以我的结论是为了使用 nodejs 1.10.15,yeoman 脚本应该将其对“node”的调用更改为“nodejs”
由于我不知道如何更改它,我想知道: 1. 是否有另一个 yeoman 脚本可用于 nodejs 1.10.15 2.如果我降级我的nodejs版本,安装脚本是否可以工作(如果可以,我如何安装降级版本的nodejs)
感谢您的想法!
部分解决:
ln -sf /usr/bin/nodejs /usr/bin/node
使安装脚本有效,但不知道该解决方案是否干净......
【问题讨论】:
nodejs vs node on ubuntu 12.04的可能重复 npm install -g yo command gives -> ERR! yo@1.1.0 postinstall: 'node scripts/doctor.js'的可能重复 【参考方案1】:要解决这个问题,你需要安装包 nodejs-legacy。
sudo apt-get install nodejs-legacy
【讨论】:
也为我工作!【参考方案2】:我相信这与我发布的解决方案可能有用的另一个问题非常相似。具体来说,npm install -g yo command gives -> ERR! yo@1.1.0 postinstall: 'node scripts/doctor.js'。
基本上,克隆 Yeoman 存储库并编辑 package.json
以删除对 doctor.js
的安装后调用。几乎不是一个理想的解决方案,但它对我有用..有关详细信息,请参阅我在另一个线程中的答案。
【讨论】:
【参考方案3】:检查您的语言和编码是否正确。在我的设置中,我首先必须安装 nodejs-legacy
并且必须另外将 LC_ALL
更改为:
export LC_ALL=en_US.utf8
【讨论】:
以上是关于使用最新的 nodejs 1.10.15 安装 yeoman的主要内容,如果未能解决你的问题,请参考以下文章