javascript - 将模块安装为全局变量时出现问题 --/usr/bin/env 不是目录

标签 javascript linux node.js ubuntu github

我正在尝试安装 node.js 模块“javascripting”(可以找到源代码:https://github.com/sethvincent/javascripting),但无法将其安装为全局变量以通过终端运行。

安装 node.js 后,我尝试使用以下行安装 javascripting:npm install --global javascripting

虽然据我所知这应该有效,但它只下载模块但没有将其设置为要在终端中运行的全局变量。

尝试将其作为全局变量运行时我收到的错误是“/usr/bin/env: node: No such file or directory”。

收到此错误后,我尝试将模块从其安装目录 (usr/local/lib/node_modules/javascripting) 移动到/usr/bin/env。不幸的是,我无法移动这些文件,因为/usr/bin/env 不是一个目录,它似乎是某种可执行 java 文件(usr/bin 是一个目录)。

我有点迷茫,希望得到一些关于如何将模块安装为工作全局变量或是否有另一种运行模块而不将其安装为全局变量的方法的建议。

最佳答案

如果 node.js 二进制文件 (node) 没有安装在 $PATH 中的任何地方,就会发生这种情况。

如果你单独运行env node,你会得到同样的错误。看起来这可能是一个 Ubuntu 错误:https://github.com/joyent/node/issues/3911

尝试 sudo ln -s/usr/bin/nodejs/usr/bin/node - 这会将 node.js 二进制文件从 Ubuntu 给它的名称符号链接(symbolic link)到它应该有的名称。

编辑: 正如 mscdex 在评论中指出的(以及在我链接的错误末尾提到的),您可以安装一个遗留包,它应该创建这个符号链接(symbolic link)。

sudo apt-get install nodejs-legacy

我在上面链接的错误表明 Ubuntu/Debian 的默认 node.js 包可能存在其他问题,并建议您从那里提到的 PPA 或源代码安装自己的。

您可能需要遵循 NPM modules won't install globally without sudo 中的建议

关于javascript - 将模块安装为全局变量时出现问题 --/usr/bin/env 不是目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27530675/

相关文章:

javascript - 如何在 Stenciljs 中获取 DOM 元素?

javascript - 从 ColdFusion CFC 调用 Javascript 函数

linux - 使用 mmap() 在进程之间共享 std::map

javascript - 环回: configure acl and relations to list all objects belonging to logged used

php - 安全 - session (默认使用 - Cookie)与本地存储

JavaScript ES6 : How to retrieve calling subclass from a static method defined in superclass

linux - 无法将 bool 值分配给 bash 中的变量?

linux - linux内核是否为实时任务执行负载平衡或任务迁移?

javascript - Node.js 密码重置

node.js - 在 Node.js 中调用导出函数