找不到 SLC 命令
SLC Command not found
我正在使用 Mac OS X 10.10.2 .
node -v v0.12.1
npm -v 2.5.1
通过 npm install -g strongloop
安装 strongloop 包仅适用于 sudo 即使我通过
修复了权限
$ sudo chown -R $USER /usr/local/bin
$ sudo chown -R $USER /usr/local/lib/node_modules
如果没有 sudo,它会抛出 EACCS 错误 http://pastebin.com/uJbjbXG3
/usr/local/bin/npm/node_modules/strongloop/bin/slc
存在。
有什么想法吗?
根据您的错误消息的最后几行:
113 error error rolling back Error: EACCES, unlink '/Users/Simon/npm/bin/slc'
113 error error rolling back at Error (native)
113 error error rolling back { [Error: EACCES, unlink '/Users/Simon/npm/bin/slc'] errno: -13, code: 'EACCES', path: '/Users/Simon/npm/bin/slc' }
看来您可能已将 npm
配置为使用非标准前缀,因为它将 strongloop
安装到 /Users/Simon/npm
而不是 /usr/local
。
根据你的问题描述,/usr/local/bin/npm
是一个目录(或者一个目录的符号链接)而不是一个文件,这是没有用的。
我不确定你用什么方法安装了 node 和 npm,但它似乎出了大问题。
至少,您应该 sudo chown -R Simon ~/npm
以便您可以再次写入 $HOME
.
中的目录和文件
如果这是您第一次使用 node 并且您没有安装任何其他模块,您可能会发现使用 nvm 之类的东西以不需要的方式安装 node 和 npm 会更容易sudo
.
我必须警告,这是一个糟糕的解决方案,因为您不希望在您的项目中拥有所有 strongloop 框架我只是出于解释目的而提出这个答案。
您好(如果您不想进行全局安装)
我的问题有些相似,CLI 向我抛出相同的消息:
SLC command not found
但是我意识到我在本地安装了strongloop,我的意思是用下面的命令安装了stronloop
npm install strongloop
也许你可以把完整的路径放到 slc executable
:
node node_modules/strongloop/bin/slc arc
或者您想以直接的方式完成工作,将以下行添加到 package.json(脚本部分内):
"slc": "node node_modules/strongloop/bin/slc"
然后,在您的控制台中输入:
npm run-script slc arc
如对可能解决方案的回复中所述。这是我的解决方案
npm config set prefix /usr/local
一些新的研究表明,自从该公司被 IBM 收购后,StrongLoop 特定的工具(包括 slc
工具)就不再维护了。 Loopback 本身得到积极维护。
loopback-cli 项目特别提到它提供了一个 lb
命令行工具,"supersedes" strongloop 的 "older slc tool."
我正在使用 Mac OS X 10.10.2 .
node -v v0.12.1
npm -v 2.5.1
通过 npm install -g strongloop
安装 strongloop 包仅适用于 sudo 即使我通过
修复了权限
$ sudo chown -R $USER /usr/local/bin
$ sudo chown -R $USER /usr/local/lib/node_modules
如果没有 sudo,它会抛出 EACCS 错误 http://pastebin.com/uJbjbXG3
/usr/local/bin/npm/node_modules/strongloop/bin/slc
存在。
有什么想法吗?
根据您的错误消息的最后几行:
113 error error rolling back Error: EACCES, unlink '/Users/Simon/npm/bin/slc'
113 error error rolling back at Error (native)
113 error error rolling back { [Error: EACCES, unlink '/Users/Simon/npm/bin/slc'] errno: -13, code: 'EACCES', path: '/Users/Simon/npm/bin/slc' }
看来您可能已将 npm
配置为使用非标准前缀,因为它将 strongloop
安装到 /Users/Simon/npm
而不是 /usr/local
。
根据你的问题描述,/usr/local/bin/npm
是一个目录(或者一个目录的符号链接)而不是一个文件,这是没有用的。
我不确定你用什么方法安装了 node 和 npm,但它似乎出了大问题。
至少,您应该 sudo chown -R Simon ~/npm
以便您可以再次写入 $HOME
.
如果这是您第一次使用 node 并且您没有安装任何其他模块,您可能会发现使用 nvm 之类的东西以不需要的方式安装 node 和 npm 会更容易sudo
.
我必须警告,这是一个糟糕的解决方案,因为您不希望在您的项目中拥有所有 strongloop 框架我只是出于解释目的而提出这个答案。
您好(如果您不想进行全局安装)
我的问题有些相似,CLI 向我抛出相同的消息:
SLC command not found
但是我意识到我在本地安装了strongloop,我的意思是用下面的命令安装了stronloop
npm install strongloop
也许你可以把完整的路径放到 slc executable
:
node node_modules/strongloop/bin/slc arc
或者您想以直接的方式完成工作,将以下行添加到 package.json(脚本部分内):
"slc": "node node_modules/strongloop/bin/slc"
然后,在您的控制台中输入:
npm run-script slc arc
如对可能解决方案的回复中所述。这是我的解决方案
npm config set prefix /usr/local
一些新的研究表明,自从该公司被 IBM 收购后,StrongLoop 特定的工具(包括 slc
工具)就不再维护了。 Loopback 本身得到积极维护。
loopback-cli 项目特别提到它提供了一个 lb
命令行工具,"supersedes" strongloop 的 "older slc tool."