简体   繁体   English

无法运行全局安装的节点模块

[英]not able to run globally installed node modules

I have installed Ubuntu 14.04 in a VM.Installed nodejs using software center. 我已经在VM中安装了Ubuntu 14.04,并使用软件中心安装了nodejs。

suman@ubuntu:~$ node --version
v0.10.26
suman@ubuntu:~$ npm --version
1.4.3

npm config below 下面的npm配置

suman@ubuntu:~$ npm config ls -l
; cli configs
long = true
registry = "https://registry.npmjs.org/"

; userconfig /home/suman/.npmrc
prefix = "/.node"

; default values
always-auth = false
bin-links = true
browser = null
ca = null
cache = "/home/suman/.npm"
cache-lock-retries = 10
cache-lock-stale = 60000
cache-lock-wait = 10000
cache-max = null
cache-min = 10
cert = null
color = true
depth = null
description = true
dev = false
editor = "vi"
email = ""
engine-strict = false
fetch-retries = 2
fetch-retry-factor = 10
fetch-retry-maxtimeout = 60000
fetch-retry-mintimeout = 10000
force = false
git = "git"
git-tag-version = true
global = false
globalconfig = "/usr/local/etc/npmrc"
globalignorefile = "/usr/local/etc/npmignore"
group = 1000
heading = "npm"
https-proxy = null
ignore-scripts = false
init-module = "/home/suman/.npm-init.js"
init.author.email = ""
init.author.name = ""
init.author.url = ""
init.license = "ISC"
json = false
key = null
link = false
local-address = undefined
loglevel = "http"
; long = false (overridden)
message = "%s"
node-version = "v0.10.26"
npat = false
onload-script = false
optional = true
parseable = false
; prefix = "/usr" (overridden)
production = false
proprietary-attribs = true
proxy = null
rebuild-bundle = true
registry = "https://registry.npmjs.org/"
rollback = true
save = false
save-bundle = false
save-dev = false
save-optional = false
searchexclude = null
searchopts = ""
searchsort = "name"
shell = "/bin/bash"
shrinkwrap = true
sign-git-tag = false
strict-ssl = true
tag = "latest"
tmp = "/home/suman/tmp"
umask = 18
unicode = true
unsafe-perm = true
usage = false
user = 0
user-agent = "node/v0.10.26 linux x64"
userconfig = "/home/suman/.npmrc"
username = ""
version = false
versions = false
viewer = "man"

I have installed grunt-cli, bower etc using npm install -g grunt-cli bower But I am not able to execute these as shell command. 我已经使用npm install -g grunt-cli bower安装了grunt-cli,bower等,但是我无法将它们作为shell命令执行。

suman 苏曼

Its best to avoid having to issue sudo when installing nodejs packages as node should never be run as root (same reasons as HTTPD is not run as root). 最好避免在安装nodejs软件包时发出sudo,因为node永远不能以root身份运行(与HTTPD并非以root身份运行相同的原因)。 Always install and run node and npm as yourself. 始终以自己的身份安装和运行node和npm。 To start over with a fresh install of nodejs and npm (below nodejs git gives you npm) on ubuntu (especially after issuing various sudo commands) : 要在ubuntu上重新安装Node.js和npm(在nodejs git之下,您会得到npm)(特别是在发出各种sudo命令之后)重新开始:

remove or rename these dirs : (created by npm, typically owned by root if you used sudo) 删除或重命名这些Dirs :(由npm创建,如果使用sudo,通常由root拥有)

sudo mv ~yourUnixId/.npm ~yourUnixId/ignore.npm
sudo mv ~yourUnixId/tmp  ~yourUnixId/ignore_tmp    
sudo mv ~yourUnixId/.npmrc  ~yourUnixId/ignore_.npmrc
sudo mv ~yourUnixId/.npm-init.js  ~yourUnixId/ignore_.npm-init.js

download source from : http://nodejs.org/download/ 下载源: http : //nodejs.org/download/

cd /path/to/downloaded/src/

./configure   --prefix=${HOME}/bin/nodejs
make
make install  #  will install into above prefix dir

jack up your PATH to find new executables 整理您的PATH以查找新的可执行文件

export PATH=${HOME}/bin/nodejs/bin:$PATH:.

this defines path to reach nodejs modules when issuing npm commands : 这定义了发出npm命令时到达nodejs模块的路径:

export NODE_PATH=${HOME}/bin/nodejs/lib/node_modules

going forward always issue npm install AS YOURSELF NOT sudo with the -g flag as 向前总是发出npm install AS YOURSELF NOT sudo(带有-g标志)

npm install someCoolModule -g

execute node as yourself : 以您自己的身份执行节点:

node myNode.js

you should be all set now - enjoy 您应该已经准备就绪-享受

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM