From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id cHsAGSg+3GHi0AAAgWs5BA (envelope-from ) for ; Mon, 10 Jan 2022 15:09:44 +0100 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id aCKrFSg+3GGJXAAAauVa8A (envelope-from ) for ; Mon, 10 Jan 2022 15:09:44 +0100 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 6F71A22AF5 for ; Mon, 10 Jan 2022 15:09:43 +0100 (CET) Received: from localhost ([::1]:52556 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1n6vMk-0001rV-Da for larch@yhetil.org; Mon, 10 Jan 2022 09:09:42 -0500 Received: from eggs.gnu.org ([209.51.188.92]:43470) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n6vFo-0005W6-P3 for help-guix@gnu.org; Mon, 10 Jan 2022 09:02:34 -0500 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:51719) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n6vFl-0001bK-JS for help-guix@gnu.org; Mon, 10 Jan 2022 09:02:32 -0500 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id 95A215C0058; Mon, 10 Jan 2022 09:02:26 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute4.internal (MEProxy); Mon, 10 Jan 2022 09:02:26 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rwv.io; h= references:from:to:cc:subject:in-reply-to:date:message-id :mime-version:content-type; s=fm2; bh=de0vLA+fg6wQ4toLX4LrL1hZoK G/vj9GNX1FNMhN/Es=; b=sT0RtaDmdKRyKnqPtGc6CgT43M6Obs/pJJ/RNqtpMp QQkJllNToHLiXasP5wRCe/ThbjHy9cxt0iaInP5VsT68mNpsesmo9akiezdX2+G9 4yeQkojg9aV4SYAy3wC0yAxDDU08+dbkL3ZsYT4jePN96K+UF54HZ0tcABVlGQqZ qCPHDi8g30QpCU9OJ4Kz7uRpKRsHIloi9yGrhFMPD4yYrytpg0W/wO1qqLRnsaOs Q1jN8kSdEshCehINF7Ejel8/rF9JKn2lsTpJn1zZO0xhGp2H61+cNpNWZYPisdrR 4EdoOrB/51xhoYAcJLoaexhe7inZO1tdYxoTaTf8hGnQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=de0vLA +fg6wQ4toLX4LrL1hZoKG/vj9GNX1FNMhN/Es=; b=WcapnJh96lbgQKN+nJyOPH qfqWkqhJcPd7I+DfaEQ5WqOtqIBHK2+khGGSSSF9q9NxcbXbNIWn8w2yR8Bit98k htv8lEtERtRE41zRk6328mQ2RpSQqRohYDYHlRTkidjsL8DnuCIZI0sKAhxWHh6+ Ow1pzmc47Ts4Kr/S3Rz00JGx/u7xzsgY4IqLBAdGG+tDbmm88nWRLCE6dhNrSLWN kc53TkJS2TUpuXubgK4FOCAcl9jf91G4OYNgRzThGGkXwSBVJ1T4DQwUfB/ubRzr FWp3KgfkvZUWk3svISSYGgsnkd7u6LEHzLD2yG/xXhe8bj+4d3itByzcFLRkXgmQ == X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvuddrudehuddgfeefucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpehffgfhvffujgffkfggtgesthdtre dttdertdenucfhrhhomheptfgvmhgtohcuoehmvgesrhifvhdrihhoqeenucggtffrrght thgvrhhnpeduhfekueehjeejveekuedtueelveeuffetieehkeethfdvheejgfegleetue dthfenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehm vgesrhifvhdrihho X-ME-Proxy: Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon, 10 Jan 2022 09:02:25 -0500 (EST) References: <87y23niukg.fsf@fastmail.com> User-agent: mu4e 1.6.10; emacs 28.0.50 From: Remco To: t@fullmeta.me Subject: Re: Web development on Guix: nodejs, npm and all that In-reply-to: <87y23niukg.fsf@fastmail.com> Date: Mon, 10 Jan 2022 15:02:24 +0100 Message-ID: <877db78z9r.fsf@rwv.io> MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=66.111.4.25; envelope-from=me@rwv.io; helo=out1-smtp.messagingengine.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: help-guix@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: help-guix@gnu.org Errors-To: help-guix-bounces+larch=yhetil.org@gnu.org Sender: "Help-Guix" X-Migadu-Flow: FLOW_IN X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1641823784; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=de0vLA+fg6wQ4toLX4LrL1hZoKG/vj9GNX1FNMhN/Es=; b=ZKaQfZEdlvSA8QpzJOvyYRBa9c5f3xdB0jQTmnPUO2Phwojx066fW7cRTJtb/EQE33Qiyl zeg6IQabvnpK8fePBIu5byk6aUJRQkc6twV5VENYpRsNtDgWs5RzNDzdFCY2h2gIUozf/P QmDcRAsFY2VP+Qi9BAQa4C8RVkQGrseBr0JdZtNKzvYYw4/Fv9nhKWxuyhycqjOvgrAbDa tF38WA53xB2t6kpX2Pjc+OlpqMVQnUKN2kawJX4nscgbsUvYTy9mr/KZDmrRzPmbgHyMfM qc3ccBIQMTm+uHSRI9BSa5XY9G8mgYp4auTcD9CvJipApz4xQVm/dfe7iXtaSQ== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1641823784; a=rsa-sha256; cv=none; b=TGVKEoNBfGfT0P7nMUj9gPxVCfMIhGGdedMral7kgBxWD26j9d4AEp6neNFPl26Ciizmds fhdIsX/9Mj+OmxDuSCqyOAUSQi6FHr1+wIha08XkC3Hs0KEhK8BQ1QUZNGSliA6Jhg0Gvx obOO5oOZH+27RXGZSZm++yHeEbZrPF5/7yF/DfPQES0ed7nwY5kbzvWe9sV9U2xIoY3J71 QTpdvodNuCTiSUKQ3QqYWUNfScjp6jtd8BcDw+ex9x/2zahDVAUnPaIrxMWrJYAgVffxGR +ziJqneHGSiETM7BrDTvax6IIxzyeZ1f162YXAzoxo59gY7JvSF2Xrcd+EmYhw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=rwv.io header.s=fm2 header.b=sT0RtaDm; dkim=pass header.d=messagingengine.com header.s=fm1 header.b=WcapnJh9; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "help-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="help-guix-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: -4.91 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=rwv.io header.s=fm2 header.b=sT0RtaDm; dkim=pass header.d=messagingengine.com header.s=fm1 header.b=WcapnJh9; dmarc=none; spf=pass (aspmx1.migadu.com: domain of "help-guix-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="help-guix-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: 6F71A22AF5 X-Spam-Score: -4.91 X-Migadu-Scanner: scn1.migadu.com X-TUID: kGMQAgfh6DEx > So, how do people program for the Web, Node on Guix. Does =npm > install= which defaults to local installation work well enough for > most packages? An outline of what to expect and known problems and > workarounds would be very useful. Hi, a couple of the projects I work on depend on Node but I never ever install npm packages globally. I setup most of my project development environments using direnv and the node projects have an extra entry to make the installed commands available: PATH="$(expand_path node_modules/.bin):$PATH" I haven't encountered any npm package which doesn't work when not installed globally yet and it seems to me that would be a bug in said package. Anyway, direnv really shines with guix! It also includes a use_guix statement to add deps using guix environment but I prefer to use profiles instead because they are garbage collection resistant and avoid new installs after I did a guix pull. Cheers, Remco