2015-03-31 151 views
2

即時通訊使用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 error's http://pastebin.com/uJbjbXG3SLC命令未找到

/usr/local/bin/npm/node_modules/strongloop/bin/slc存在。 有什麼想法?

+1

您不應該更改系統文件夾的權限/所有權,如'/ usr/local/bin'。 – baf 2015-03-31 07:22:30

+1

某些系統需要sudo priveleges才能安裝任何全局程序包......已經能夠使用'npm install -g' _without_使用'sudo'安裝任何其他程序了嗎? – jakerella 2015-03-31 15:11:56

回答

-1

正如在答覆中提到一種可能的解決方案。這是我的解決方案 npm config set prefix /usr/local

1

根據您的錯誤消息的最後幾行:

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爲​​,而不是/usr/local

根據你的問題描述,/usr/local/bin/npm是一個目錄(或一個目錄的符號鏈接)而不是一個文件,這是沒有用的。

我不確定你用什麼方法來安裝node和npm,但它看起來有可怕的錯誤。

至少,你應該做sudo chown -R Simon ~/npm,這樣你就可以再次寫入你的$HOME中的目錄和文件。

如果這是您第一次使用節點,並且您沒有安裝任何其他模塊,您可能會發現使用類似nvm的方式安裝node和npm的方式不需要sudo

+0

我以前使用過不同包的Node.js安裝程序。所以我通過Node.js卸載了npm和節點以獲得一個乾淨的版本,但沒有成功。之後,我試圖讓它與自制軟件一起工作。最後'npm config set prefix/usr/local'可以解決我的問題。 – 2015-04-01 19:34:24

0

我必須警告,這是一個糟糕的解決方案,因爲你不想在你的項目中擁有所有的strongloop框架我只是把這個答案與解釋的目的。

您好(如果你不想讓全球安裝)

我的問題是有些相像,CLI把我扔了同樣的信息:

SLC找不到命令

但我意識到我做了一個本地安裝strongloop,我的意思是用以下命令安裝stronloop

npm install strongloop 

也許你可以把完整的路徑來尋找slc executable

node node_modules/strongloop/bin/slc arc 

或者您想使工作在一個簡單的方法,將下面的行包裝。JSON(內部腳本部分):

"slc": "node node_modules/strongloop/bin/slc" 

,然後鍵入您的控制檯:

npm run-script slc arc 
0

一些新的研究表明,StrongLoop特定的工具(包括slc工具)自IBM公司被IBM收購後不再維護。環回本身被主動維護。

loopback-cli項目特別提到它提供了一個lb命令行工具,它可以「替代」strongloop的「舊版slc工具」。