如何让 slc 命令在 Ubuntu 上工作?

How can I get the slc command to work on Ubuntu?

我在 Ubuntu 14.04 服务器上使用 npm install -g strongloop 安装了 Strongloop。 slc 命令不起作用。它说

The program 'slc' is currently not installed. You can install it by typing: sudo apt-get install heimdal-multidev

我怎样才能将它送到 运行 Strongloop CLI 而不是寻找这个包?我的 PATH 有 added this,但它仍然不起作用。有什么想法吗?

其他 Strongloop 命令,如 sl-build 有效,strongloop 列在 npm list -g

一个名为 slc 的软件 link 应该已经在 /usr/local/bin 处创建,它将指向 strongloop 二进制文件。

请验证以下是否存在。

/usr/local/lib/node_modules/strongloop/bin/slc

如果没有,那么strongloop没有安装成功,否则验证softlink slc/usr/local/bin/.

/usr/local/bin/slc -> /usr/local/lib/node_modules/strongloop/bin/slc

如果是,则需要将/usr/local/bin添加到$PATH,否则创建softlink并验证/usr/local/bin$PATH.

看起来像 Digital Ocean Droplet 可选的 Node 安装安装到不在 $PATH 中的其他位置。我很确定这就是问题所在。无论如何,我通过在没有预安装 Node 和 followed this guide 的情况下启动服务器来修复它。只需使用 npm install -g strongloop 而不是 strong-cli,因为后者已被弃用。

Ubuntu 14 与 node.js 4.1.2

默认情况下,slc 未创建或未添加到 PATH。 我通过添加符号链接解决了这个问题:

sudo ln -s /usr/lib/node_modules/strongloop/bin/slc.js /usr/bin/slc

Ubuntu 14.04 与 node.js 4.4.2 (LTS) :

strongloop 的安装没有任何错误,但 slc 没有添加到 PATH 中。我通过添加符号链接解决了这个问题:

    sudo ln -s /usr/local/lib/node_modules/strongloop/bin/slc.js /usr/bin/slc

实际上我不确定我的情况是否与您的情况相符,但我想分享我的经验。反正我收到了同样的信息。

我意识到我之前更改了全局数据包的前缀。然后我用下面的命令检查了前缀。

$ npm 配置获取前缀 /home/myUser/.node_modules_global

然后我在活动命令行 window 中添加了 PATH 变量的路径(但是 .profile,.bash_profile 文件会更好)并且问题解决了。