【问题标题】:npm install -g yo command gives -> ERR! yo@1.1.0 postinstall: `node scripts/doctor.js`npm install -g yo 命令给出 -> ERR! yo@1.1.0 安装后:`node scripts/doctor.js`
【发布时间】:2014-01-19 18:58:10
【问题描述】:

我刚尝试进行 npm install,但最后得到了关于医生,js 的错误。我需要担心吗?

npm install -g 哟

。 .

npm http 304 https://registry.npmjs.org/graceful-fs
npm http 200 https://registry.npmjs.org/fstream/-/fstream-0.1.25.tgz
/usr/local/bin/yo -> /usr/local/lib/node_modules/yo/cli.js

> yo@1.1.0 postinstall /usr/local/lib/node_modules/yo
> node scripts/doctor.js

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.0 postinstall: `node scripts/doctor.js`
npm ERR! `sh "-c" "node scripts/doctor.js"` failed with 1
npm ERR! 
npm ERR! Failed at the yo@1.1.0 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.js
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-12-generic
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install" "-g" "yo"
npm ERR! cwd /etc/libvirt/qemu
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!     /etc/libvirt/qemu/npm-debug.log
npm ERR! not ok code 0

EDIT____________--

由于某种原因 node -v 在终端中什么也不输出

我安装了最新的节点:

WebstormProjects # sudo apt-get install node 阅读包裹清单...完成 构建依赖树 读取状态信息...完成 节点已经是最新版本。 0 个已升级,0 个新安装,0 个要移除,143 个未升级。

【问题讨论】:

  • 这些解决方案是否适合您? (有同样的问题/这不是解决它)谢谢!

标签: npm yeoman


【解决方案1】:

此链接上的解决方案对我有用:

http://plaidzooks.tumblr.com/post/36894116867/using-node-js-on-debian-ubuntu-systems

Ubuntu 带有一个自动创建链接的软件包,因此命令“nodejs”只能通过创建链接作为“节点”调用。

sudo apt-get install nodejs-legacy

这让 Yeoman 工作了。

【讨论】:

  • 也为我工作。正如包描述所说:`这个包包含一个旧的 Node.js 代码的符号链接,要求二进制文件是 /usr/bin/node(不是 Debian 中提供的 /usr/bin/nodejs)。 `
【解决方案2】:

同样,我也遇到了同样的问题(尽管是在 Mac 上)。我将node卸载并升级到最新版本(v0.10.24)但没有成功。

符号链接修复确实对我有用,尽管稍作调整:

sudo ln -s /usr/local/bin/node /usr/bin/node

【讨论】:

【解决方案3】:

我相信这可能是由于node 在您的系统上的安装方式。显然,有时通过包管理器安装 Node 时,链接的二进制文件是 nodejs,(因此 nodejs _command_ 是在您的机器上运行的命令,而不是更常见的 node _comamand_。您可以重新安装 Node (最新版本现在是来自nodejs.org0.10.24),或者从this related issue 尝试这个解决方案:

对于任何希望仍使用其操作系统的 node 包的人来说,简单的解决方案是确定 node 在您的操作系统上的安装位置,然后创建一个符号链接。

例如,我在 ubuntu 上遇到了问题,安装目录是 /usr/bin。要创建符号链接,您可以运行:

sudo ln -s /usr/bin/nodejs /usr/bin/node

在windows中你可以使用mklink命令。一定要以管理员身份打开命令提示符

【讨论】:

    【解决方案4】:

    你必须这样安装nodejs:

    sudo apt-get install python-software-properties
    sudo add-apt-repository ppa:chris-lea/node.js
    sudo apt-get update
    sudo apt-get install nodejs
    

    【讨论】:

    • 这在 Ubuntu 14.04 上对我没有帮助,因为 npm 会拒绝安装。然而,Antonio Drusin 的解决方案是成功的(在我删除了通过 flavio 的回答安装的存储库和 nodejs 版本并再次尝试之后)。
    【解决方案5】:

    我在干净的 Ubuntu 13.10 安装中遇到了同样的错误,并且没有任何符号链接(节点 > nodejs)或安装/卸载对我有帮助。

    我对节点环境的了解不够深入,无法正确排除故障,但我能够通过克隆 repo 并从 package.json 中删除安装后检查来全局安装 Yeoman。

    如果其他人想尝试这个解决方案:

    克隆约曼..

    cd ~
    git clone https://github.com/yeoman/yo
    

    编辑 package.json..

    nano yo/package.json
    

    ..删除这些行..

    "scripts": {
        "test": "grunt",
        "postinstall": "node ./scripts/doctor",
        "postupdate": "node ./scripts/doctor"
    },
    

    然后,使用 npm 安装它..

    cd yo
    npm install -g
    

    如果你想清理你可以删除 Yeoman repo..

    cd ..
    rm -R yo/
    

    显然,您的里程可能会有所不同,但到目前为止对我来说效果很好。

    我还注意到我能够独立于安装过程成功运行doctor.js 脚本。不知道为什么它一开始就失败了..

    【讨论】:

      【解决方案6】:

      在 Ubuntu 14.04 上,我尝试安装旧包(根据 Antonio 的回答)和手动创建符号链接(根据 Stephen 的回答)。都没有奏效。 Ubuntu 软件包有 node.js 的 0.10.25 版本,但 Yeoman 似乎需要更新的版本。

      installing the latest version of node.js from NodeSource(当前为v6.9.1)之后,我可以使用npm install -g yo 安装Yeoman。

      【讨论】:

        【解决方案7】:

        要解决这个问题,你需要安装包 nodejs-legacy。

        sudo apt-get install nodejs-legacy
        

        【讨论】:

        • 这与安东尼奥的答案相同,但支持信息较少。
        猜你喜欢
        • 2016-05-04
        • 1970-01-01
        • 1970-01-01
        • 2022-08-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-07-20
        • 2014-03-17
        相关资源
        最近更新 更多