nodejs_cnpm导致node的prefix和cache和node_global配置环境变量不起作用

cnpm的介绍:

http://npm.taobao.org/这是一个完整 npmjs.org 镜像,你可以用此代替官方版本(只读),同步频率目前为 10分钟 一次以保证尽量与官方服务同步。

cnpm的配置:

alias cnpm="npm --registry=https://registry.npm.taobao.org \

  --cache=$HOME/.npm/.cache/cnpm \

  --disturl=https://npm.taobao.org/dist \

  --userconfig=$HOME/.cnpmrc"

问题:

默认的配置+npm,没有问题:

$ npm config list -l

; cli configs

long = true

user-agent = "npm/2.14.12 node/v4.3.1 win32 x64"

; userconfig C:\Users\xxx\.npmrc

cache = "D:\\nodejs\\node_cache"

prefix = "D:\\nodejs\\node_global"

; builtin config undefined

; prefix = "C:\\Users\\xxx\\AppData\\Roaming\\npm" (overridden)

; default values

access = null

always-auth = false

bin-links = true

browser = null

ca = null

; cache = "C:\\Users\\xxx\\AppData\\Roaming\\npm-cache" (overridden)

cache-lock-retries = 10

cache-lock-stale = 60000

cache-lock-wait = 10000

cache-max = null

cache-min = 10

cafile = undefined

cert = null

color = true

depth = null

description = true

dev = false

editor = "notepad.exe"

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 = "D:\\nodejs\\node_global\\etc\\npmrc"

globalignorefile = "D:\\nodejs\\node_global\\etc\\npmignore"

group = 0

heading = "npm"

https-proxy = null

if-present = false

ignore-scripts = false

init-author-email = ""

init-author-name = ""

init-author-url = ""

init-license = "ISC"

init-module = "C:\\Users\\xxx\\.npm-init.js"

init-version = "1.0.0"

json = false

key = null

link = false

local-address = undefined

loglevel = "warn"

; long = false (overridden)

message = "%s"

node-version = "4.3.1"

npat = false

onload-script = null

optional = true

parseable = false

; prefix = "D:\\nodejs" (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-exact = false

save-optional = false

save-prefix = "^"

scope = ""

searchexclude = null

searchopts = ""

searchsort = "name"

shell = "C:\\Windows\\system32\\cmd.exe"

shrinkwrap = true

sign-git-tag = false

spin = true

strict-ssl = true

tag = "latest"

tag-version-prefix = "v"

tmp = "D:\\cygwin64\\tmp"

umask = 0

unicode = true

unsafe-perm = true

usage = false

user = 0

; user-agent = "npm/{npm-version} node/{node-version} {platform} {arch}" (overridden)

userconfig = "C:\\Users\\xxx\\.npmrc"

version = false

versions = false

viewer = "browser"

但是自己配置node环境变量+cnpm就会出现问题。

$ cnpm config list -l

; cli configs

cache = "D:\\home\\xxx\\.npm\\.cache\\cnpm"

disturl = "https://npm.taobao.org/dist"

long = true

registry = "https://registry.npm.taobao.org/"

user-agent = "npm/2.14.12 node/v4.3.1 win32 x64"

userconfig = "D:\\home\\xxx\\.cnpmrc"

; builtin config undefined

prefix = "C:\\Users\\xxx\\AppData\\Roaming\\npm"

; default values

access = null

always-auth = false

bin-links = true

browser = null

ca = null

; cache = "C:\\Users\\xxx\\AppData\\Roaming\\npm-cache" (overridden)

cache-lock-retries = 10

cache-lock-stale = 60000

cache-lock-wait = 10000

cache-max = null

cache-min = 10

cafile = undefined

cert = null

color = true

depth = null

description = true

dev = false

editor = "notepad.exe"

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 = "C:\\Users\\xxx\\AppData\\Roaming\\npm\\etc\\npmrc"

globalignorefile = "C:\\Users\\xxx\\AppData\\Roaming\\npm\\etc\\npmignore"

group = 0

heading = "npm"

https-proxy = null

if-present = false

ignore-scripts = false

init-author-email = ""

init-author-name = ""

init-author-url = ""

init-license = "ISC"

init-module = "C:\\Users\\xxx\\.npm-init.js"

init-version = "1.0.0"

json = false

key = null

link = false

local-address = undefined

loglevel = "warn"

; long = false (overridden)

message = "%s"

node-version = "4.3.1"

npat = false

onload-script = null

optional = true

parseable = false

; prefix = "D:\\nodejs" (overridden)

production = false

proprietary-attribs = true

proxy = null

rebuild-bundle = true

; registry = "https://registry.npmjs.org/" (overridden)

rollback = true

save = false

save-bundle = false

save-dev = false

save-exact = false

save-optional = false

save-prefix = "^"

scope = ""

searchexclude = null

searchopts = ""

searchsort = "name"

shell = "C:\\Windows\\system32\\cmd.exe"

shrinkwrap = true

sign-git-tag = false

spin = true

strict-ssl = true

tag = "latest"

tag-version-prefix = "v"

tmp = "D:\\cygwin64\\tmp"

umask = 0

unicode = true

unsafe-perm = true

usage = false

user = 0

; user-agent = "npm/{npm-version} node/{node-version} {platform} {arch}" (overridden)

; userconfig = "C:\\Users\\xxx\\.npmrc" (overridden)

version = false

versions = false

viewer = "browser"

其中:

userconfig = "C:\\Users\\xxx\\.npmrc"

此文件的内容为自己的配置:

prefix=D:\nodejs\node_global
cache=D:\nodejs\node_cache

原因: 配置的参数,在win下出现了问题:

alias cnpm="npm --registry=https://registry.npm.taobao.org \

  --cache=$HOME/.npm/.cache/cnpm \

  --disturl=https://npm.taobao.org/dist \

  --userconfig=$HOME/.cnpmrc"

cache指定了,没有考虑用户自己配置的情况。

userconfig也指定了,同上。

解决方法:

去掉这俩参数。重新试了一下,好了~~

注意事项:

默认安装win下的node,会配置用户的环境变量,指向node_global目录。

若自己改了默认配置,需要指定环境变量啊。

q

e

e

w

q

t

3

猜你喜欢

转载自fantaxy025025.iteye.com/blog/2296290